java读写txt文件
目录
java读写txt文件
java读写txt文件
用键盘输入一串数字如“15 25 26”,存入txt中并读取显示
package thread;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.EOFException;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class main {
public static void main(String[] args) {
writeToFile();
readFromFile();
}
private static void readFromFile() {
List<Integer> inputList=null;
try (FileReader reader = new FileReader("a.txt");
BufferedReader br = new BufferedReader(reader) // 建立一个对象,它把文件内容转成计算机能读懂的语言
) {
String line;
while ((line = br.readLine()) != null) {
// 一次读入一行数据
String[] inputdatas=line.split(" ");
for(String s:inputdatas){
System.out.print("'"+s+"' ");
}
System.out.println();
inputList=new ArrayList<Integer>();
for(String d:inputdatas){
int value=Integer.parseInt(d);
inputList.add(value);
}
System.out.println(inputList);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void writeToFile() {
try {//流的套接
FileOutputStream fout=new FileOutputStream("a.txt");
DataOutputStream dout=new DataOutputStream(fout);
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
System.out.println("input:"+line);
try {
File writeName = new File("a.txt"); // 相对路径,如果没有则要建立一个新的output.txt文件
writeName.createNewFile(); // 创建新文件,有同名的文件的话直接覆盖
try (FileWriter writer = new FileWriter(writeName);
BufferedWriter out = new BufferedWriter(writer)
) {
out.write(line);
out.flush(); // 把缓存区内容压入文件
}
} catch (IOException e) {
e.printStackTrace();
}
fout.close();
dout.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}