文件操作菜鸟问题 假如我把数据都封装在一个类中,然后如何把多个结构整体数据读入文件呢?如果要用的时候如何把它读出来,是一个一个读,还是一起读出来,保存在类似于数组一样的数据集中,最最重要如何实现?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 实现java.io.Serializable接口然后对象就可以用stream.readObject stream.writeObject读写文件 package aillo;import java.io.*;public class FileWriterReader {//功能:读取f:/aillo.txt文件的内容(一行一行读),并将其内容写入f:/jackie.txt中//知识点:java读文件、写文件---<以字符流方式> public static void main(String[] args) { try { FileReader fr = new FileReader("f:/aillo.txt");//创建FileReader对象,用来读取字符流 BufferedReader br = new BufferedReader(fr); //缓冲指定文件的输入 FileWriter fw = new FileWriter("f:/jackie.txt");//创建FileWriter对象,用来写入字符流 BufferedWriter bw = new BufferedWriter(fw); //将缓冲对文件的输出 String myreadline; //定义一个String类型的变量,用来每次读取一行 while (br.ready()) { myreadline = br.readLine();//读取一行 bw.write(myreadline); //写入文件 bw.newLine(); System.out.println(myreadline);//在屏幕上输出 } bw.flush(); //刷新该流的缓冲 bw.close(); br.close(); fw.close(); br.close(); fr.close(); } catch (IOException e) { e.printStackTrace(); } }} 给你一个例子:package src;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.util.ArrayList;public class AAA { private static FileOutputStream saveStream; private static ObjectOutputStream saveObject; private static FileInputStream loadStream; private static ObjectInputStream loadObject; private static File file; public static void main(String[] args) { new AAA(); } public AAA(){ //初始化一个list ArrayList<String> list = new ArrayList<String>(); list.add("test1"); list.add("test2"); //保存list为文件 saveList(list); //读取文件 ArrayList<String> list2=loadList(); //打印文件内容 System.out.println("文件内容:"); for(int i=0;i<list2.size();i++){ System.out.println(list2.get(i)); } } public static void saveList(ArrayList<String> list){ try{ saveStream=new FileOutputStream("D:/test.aaa"); saveObject=new ObjectOutputStream(saveStream); saveObject.writeObject(list); saveObject.flush(); saveObject.close(); System.out.println("save success!!"); }catch(Exception e){ e.printStackTrace(); } } public static ArrayList<String> loadList(){ ArrayList<String> list = new ArrayList<String>(); try{ file=new File("D:/test.aaa"); if(file.exists()){ loadStream=new FileInputStream("D:/test.aaa"); loadObject=new ObjectInputStream(loadStream); list=(ArrayList<String>)loadObject.readObject(); loadStream.close(); } }catch(Exception e){ e.printStackTrace(); } return list; }}如果要保存一个自己定义的类的话,此类一定要实现java.io.Serializable接口 求正则表达式的公式~ 一碰上这个就晕 hashmap的一个问题。 用Swing做企业级代码生成工具 label上图片的移动 java中的参数传递机制 (讨论)关于代码编写方式! applet如何连接局域网内的SQL数据库 现在有什么跨平台的轻量级的数据库可用吗? 为什么我运行它的时候报错没有初始化? 如何将第三方包加入 谢谢,急 加分请教一个小问题。谢谢各位来帮忙小弟 求一份Java网站设计的技术实现范文
package aillo;
import java.io.*;
public class FileWriterReader {
//功能:读取f:/aillo.txt文件的内容(一行一行读),并将其内容写入f:/jackie.txt中
//知识点:java读文件、写文件---<以字符流方式>
public static void main(String[] args) {
try {
FileReader fr = new FileReader("f:/aillo.txt");//创建FileReader对象,用来读取字符流
BufferedReader br = new BufferedReader(fr); //缓冲指定文件的输入
FileWriter fw = new FileWriter("f:/jackie.txt");//创建FileWriter对象,用来写入字符流
BufferedWriter bw = new BufferedWriter(fw); //将缓冲对文件的输出
String myreadline; //定义一个String类型的变量,用来每次读取一行
while (br.ready()) {
myreadline = br.readLine();//读取一行
bw.write(myreadline); //写入文件
bw.newLine();
System.out.println(myreadline);//在屏幕上输出
}
bw.flush(); //刷新该流的缓冲
bw.close();
br.close();
fw.close();
br.close();
fr.close(); } catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;public class AAA { private static FileOutputStream saveStream;
private static ObjectOutputStream saveObject;
private static FileInputStream loadStream;
private static ObjectInputStream loadObject;
private static File file;
public static void main(String[] args) {
new AAA();
}
public AAA(){
//初始化一个list
ArrayList<String> list = new ArrayList<String>();
list.add("test1");
list.add("test2");
//保存list为文件
saveList(list);
//读取文件
ArrayList<String> list2=loadList();
//打印文件内容
System.out.println("文件内容:");
for(int i=0;i<list2.size();i++){
System.out.println(list2.get(i));
}
}
public static void saveList(ArrayList<String> list){
try{
saveStream=new FileOutputStream("D:/test.aaa");
saveObject=new ObjectOutputStream(saveStream);
saveObject.writeObject(list);
saveObject.flush();
saveObject.close(); System.out.println("save success!!");
}catch(Exception e){
e.printStackTrace();
}
}
public static ArrayList<String> loadList(){
ArrayList<String> list = new ArrayList<String>();
try{
file=new File("D:/test.aaa");
if(file.exists()){
loadStream=new FileInputStream("D:/test.aaa");
loadObject=new ObjectInputStream(loadStream);
list=(ArrayList<String>)loadObject.readObject();
loadStream.close();
}
}catch(Exception e){
e.printStackTrace();
}
return list;
}
}如果要保存一个自己定义的类的话,此类一定要实现java.io.Serializable接口