程序如下:
成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的贛州網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
span style="color:#990000;"
/spanFile file1 = new File("/home/a123/a");
if (file1.exists()) {
System.out.println("存在文件夾a");
} else {
file1.mkdir(); // 文件夾的創(chuàng)建 創(chuàng)建文件夾/home/a123/a
}
File file2 = new File("/home/a123/a/test");
if (file2.exists()) {
System.out.println("存在文件夾或者文件test");
} else {
try {
file2.createNewFile(); // 文件的創(chuàng)建,注意與文件夾創(chuàng)建的區(qū)別
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 最簡單的文件讀寫方法是使用類FileWriter
* (它的父類依次是java.io.OutputStreamWriter——java.io.Writer——java.lang.Object );
*/
// 下面是向文件file2里面寫數(shù)據(jù)
try {
FileWriter fileWriter = new FileWriter(file2);
String s = new String("This is a test! \n" + "aaaa");
fileWriter.write(s);
fileWriter.close(); // 關(guān)閉數(shù)據(jù)流
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/*
* 這樣寫數(shù)據(jù)的話,是完全更新文件test里面的內(nèi)容,即把以前的東西全部刪除,重新輸入。
* 如果不想刪除以前的數(shù)據(jù),而是把新增加的內(nèi)容增添在文件末尾處。只需要在創(chuàng)建FileWriter對象時候,使用另外一個構(gòu)造函數(shù)即可:
* FileWriter fileWriter=new FileWriter(file2,true);
*/
// 下面是從文件file2讀東西
try {
FileReader fileReader = new FileReader(file2);
String s = null;
char ch;
try {
char[] c = new char[100];
fileReader.read(c,0,2); // 具體想得到文件里面的什么值(單個char?int?還是String?),
System.out.println(c);
fileReader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/**
* 具體想得到文件里面的什么值(單個char?int?還是String?),需要知道不通read的不同用法:
* 1. int read() 讀取單個字符。
* 2. int read(char[] cbuf) 將字符讀入數(shù)組。 可以再將字符型數(shù)組轉(zhuǎn)化位字符串
* 3. int read(char[] cbuf,int off,int len) 將字符讀入數(shù)組的某一部分。
* 這三個方法都返回一個int值,作用是:讀取的字符數(shù),如果已到達流的末尾,則返回 -1.
*/
}
程序如下:\x0d\x0a \x0d\x0a\x0d\x0aFile file1 = new File("/home/a123/a"); \x0d\x0a\x0d\x0a if (file1.exists()) { \x0d\x0a System.out.println("存在文件夾a"); \x0d\x0a } else { \x0d\x0a file1.mkdir(); // 文件夾的創(chuàng)建 創(chuàng)建文件夾/home/a123/a \x0d\x0a } \x0d\x0a File file2 = new File("/home/a123/a/test"); \x0d\x0a if (file2.exists()) { \x0d\x0a System.out.println("存在文件夾或者文件test"); \x0d\x0a } else { \x0d\x0a try { \x0d\x0a file2.createNewFile(); // 文件的創(chuàng)建,注意與文件夾創(chuàng)建的區(qū)別 \x0d\x0a } catch (IOException e) { \x0d\x0a // TODO Auto-generated catch block \x0d\x0a e.printStackTrace(); \x0d\x0a } \x0d\x0a } \x0d\x0a \x0d\x0a /** \x0d\x0a * 最簡單的文件讀寫方法是使用類FileWriter \x0d\x0a * (它的父類依次是java.io.OutputStreamWriter——java.io.Writer——java.lang.Object ); \x0d\x0a */ \x0d\x0a \x0d\x0a // 下面是向文件file2里面寫數(shù)據(jù) \x0d\x0a try { \x0d\x0a FileWriter fileWriter = new FileWriter(file2); \x0d\x0a String s = new String("This is a test! \n" + "aaaa"); \x0d\x0a fileWriter.write(s); \x0d\x0a fileWriter.close(); // 關(guān)閉數(shù)據(jù)流 \x0d\x0a\x0d\x0a} catch (IOException e) { \x0d\x0a // TODO Auto-generated catch block \x0d\x0a e.printStackTrace(); \x0d\x0a } \x0d\x0a \x0d\x0a /* \x0d\x0a * 這樣寫數(shù)據(jù)的話,是完全更新文件test里面的內(nèi)容,即把以前的東西全部刪除,重新輸入。 \x0d\x0a * 如果不想刪除以前的數(shù)據(jù),而是把新增加的內(nèi)容增添在文件末尾處。只需要在創(chuàng)建FileWriter對象時候,使用另外一個構(gòu)造函數(shù)即可: \x0d\x0a * FileWriter fileWriter=new FileWriter(file2,true); \x0d\x0a */ \x0d\x0a \x0d\x0a // 下面是從文件file2讀東西 \x0d\x0a try { \x0d\x0a FileReader fileReader = new FileReader(file2); \x0d\x0a String s = null; \x0d\x0a char ch; \x0d\x0a try { \x0d\x0a char[] c = new char[100]; \x0d\x0a fileReader.read(c,0,2); // 具體想得到文件里面的什么值(單個char?int?還是String?), \x0d\x0a System.out.println(c); \x0d\x0a fileReader.close(); \x0d\x0a \x0d\x0a } catch (IOException e) { \x0d\x0a // TODO Auto-generated catch block \x0d\x0a e.printStackTrace(); \x0d\x0a } \x0d\x0a \x0d\x0a } catch (FileNotFoundException e) { \x0d\x0a // TODO Auto-generated catch block \x0d\x0a e.printStackTrace(); \x0d\x0a } \x0d\x0a /** \x0d\x0a * 具體想得到文件里面的什么值(單個char?int?還是String?),需要知道不通read的不同用法: \x0d\x0a * 1. int read() 讀取單個字符。 \x0d\x0a * 2. int read(char[] cbuf) 將字符讀入數(shù)組。 可以再將字符型數(shù)組轉(zhuǎn)化位字符串 \x0d\x0a * 3. int read(char[] cbuf,int off,int len) 將字符讀入數(shù)組的某一部分。 \x0d\x0a * 這三個方法都返回一個int值,作用是:讀取的字符數(shù),如果已到達流的末尾,則返回 -1. \x0d\x0a */ \x0d\x0a \x0d\x0a }
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;
是導(dǎo)入包,不導(dǎo)入包怎么用
File、Scanner這些類。
throws FileNotFoundException是拋出異常,是Java規(guī)定的,比如萬一找不到文件怎么辦。
調(diào)用wirte()方法將信息輸出到 “文件輸入輸出javaout”里
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 創(chuàng)建Scanner對象,用于獲取用戶輸入
Scanner scanner = new Scanner(System.in);
System.out.print("請輸入任意字符序列:");
// 獲取用戶輸入的字符序列
String str = scanner.nextLine();
// 循環(huán)遍歷字符序列中的每個字符
for (int i = 0; i str.length(); i++) {
// 獲取字符序列中的第i個字符
char c1 = str.charAt(i);
// 循環(huán)遍歷字符序列中的每個字符
for (int j = 0; j str.length(); j++) {
// 獲取字符序列中的第j個字符
char c2 = str.charAt(j);
// 如果第i個字符不等于第j個字符,則輸出它們的排列
if (i != j) {
System.out.println(c1 + "" + c2);
}
}
}
}
}
import java.util.*;
import java.io.*;
class Student {
private String name;
private int age;
private int javaScore;
private int cScore;
public Student(String name,int age) {
this.name = name;
this.age = age;
}
public void setJavaScore(int java) {
if(java 101 java = 0) {
this.javaScore = java;
}else{
System.out.println("Wrong score !");
}
}
public int getJavaScore() {
return this.javaScore;
}
public void setCScore(int C) {
if(C 101 C = 0) {
this.cScore = C;
}else{
System.out.println("Wrong score !");
}
}
public int getCScore() {
return this.cScore;
}
public String toString() {
return this.name+" "+this.age+" "+this.javaScore+" "+this.cScore+"\n";
}
}
class TestChengji {
public static void main(String [] args) throws Exception{
Student[] StudentInfo = new Student[3];
Scanner in = new Scanner(System.in);
System.out.println("請輸入學(xué)生姓名 年齡 c語言成績與java的成績,中間用空格隔開:");
System.out.println("例如: 小明 18 82 80");
for(int i=0;i3;i++) {
System.out.println("請輸入數(shù)據(jù):");
StudentInfo[i] = new Student(in.next(),in.nextInt());
StudentInfo[i].setCScore(in.nextInt());
StudentInfo[i].setJavaScore(in.nextInt());
}
in.close();
BufferedWriter writer = new BufferedWriter(new FileWriter("chengji.txt"));
for(int i=0;i3;i++) {
writer.write(StudentInfo[i].toString());
writer.flush();
}
writer.close();
}
}
//試試
你好,java的API中提供了用于對象輸入輸出文件的操作,實例代碼如下:
定義單詞類如下(注意:你定義的類要實現(xiàn)Serializable接口)
public class Words implements Serializable {
private int size;
private String[] words;
public Words(){};
public Words(String...strs){
this.words = strs;
this.size = strs.length;
}
@Override
public String toString() {
return "Words{" +
"size=" + size +
", words=" + Arrays.toString(words) +
'}';
}
}
2. 對象輸入輸出api測試類
public class ObjIOTest {
public static void main(String[] args) {
String path = "d:/myIOTest.txt";
ObjIOTest objIOTest = new ObjIOTest();
Words words = new Words("hello", "my", "dear", "friend");
try {
objIOTest.writeObject(path,words);
Words wordsFromFile = (Words)objIOTest.readObject(path);
System.out.println(wordsFromFile.toString());
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
//java serialize a object to file
public void writeObject(String path,Object map) throws IOException{
File f=new File(path);
FileOutputStream out=new FileOutputStream(f);
ObjectOutputStream objwrite=new ObjectOutputStream(out);
objwrite.writeObject(map);
objwrite.flush();
objwrite.close();
}
// read the object from the file
public Object readObject(String path) throws IOException, ClassNotFoundException{
FileInputStream in=new FileInputStream(path);
ObjectInputStream objread=new ObjectInputStream(in);
Object map=objread.readObject();
objread.close();
return map;
}
}
把兩段代碼拷貝到一個包下即可運行了,希望您的問題得到解答