Java 对象的文件写入和读出
Java编程中我用一个对象输出流向一个文件中写入一个LinkedList对象,在用一个对象输入流从文件中读取该对象时出现一个莫名奇妙的异常,实际上就是读取失败;想问一下可...
Java 编程中我用一个对象输出流向一个文件中写入一个LinkedList对象,在用一个对象输入流从文件中读取该对象时出现一个莫名奇妙的异常,实际上就是读取失败;想问一下可能的情况有哪些?
这是课程设计中的一个部分,由于代码较长,文件过多,不宜将代码拷过来,还希望大家见谅
实际上我单独编一个小程序,也是在链表中存入两个对象,然后将链表写入文件中,我再读出来是没有问题的! 展开
这是课程设计中的一个部分,由于代码较长,文件过多,不宜将代码拷过来,还希望大家见谅
实际上我单独编一个小程序,也是在链表中存入两个对象,然后将链表写入文件中,我再读出来是没有问题的! 展开
6个回答
展开全部
对象输入输出流 跟对象序列化有关,有可能是这方面
读取失败也可能是你的文件输入流里路径或其他参数出错
还有就是编码了,你可以设置下编码试试
最好能把你那所谓的莫名其妙异常或者程序片段发过来
读取失败也可能是你的文件输入流里路径或其他参数出错
还有就是编码了,你可以设置下编码试试
最好能把你那所谓的莫名其妙异常或者程序片段发过来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
稀望下面的能对你有点帮助:
/*
1 打开文件。
本例以FileInputStream的read(buffer)方法,每次从源程序文件OpenFile.java中读取512个字节,存储在缓冲区 buffer中,再将以buffer中的值构造的字符串new String(buffer)显示在屏幕上。程序如下:
*/
public class OpenFile {
public static void main(String args[]) throws IOException {
try { // 创建文件输入流对象
FileInputStream rf = new FileInputStream("OpenFile.java ");
int n = 512;
byte buffer[] = new byte[n];
while ((rf.read(buffer, 0, n) != -1) && (n > 0)) // 读取输入流
{
System.out.print(new String(buffer));
}
System.out.println();
rf.close(); // 关闭输入流
} catch (IOException ioe) {
System.out.println(ioe);
} catch (Exception e) {
System.out.println(e);
}
}
}
/*
* 例 2 写入文件。
* 本例用System.in.read(buffer)从键盘输入一行字符,存储在缓冲区buffer中,再以FileOutStream的write(buffer)方法,将buffer中内容写入文件Write1.txt中,程序如下:
*/
class Write1 {
public static void main(String args[]) {
try {
System.out.print("Input: ");
int count, n = 512;
byte buffer[] = new byte[n];
count = System.in.read(buffer); // 读取标准输入流
FileOutputStream wf = new FileOutputStream("Write1.txt ");
// 创建文件输出流对象
wf.write(buffer, 0, count); // 写入输出流
wf.close(); // 关闭输出流
System.out.println("Save to Write1.txt! ");
} catch (IOException ioe) {
System.out.println(ioe);
} catch (Exception e) {
System.out.println(e);
}
}
}
/*
1 打开文件。
本例以FileInputStream的read(buffer)方法,每次从源程序文件OpenFile.java中读取512个字节,存储在缓冲区 buffer中,再将以buffer中的值构造的字符串new String(buffer)显示在屏幕上。程序如下:
*/
public class OpenFile {
public static void main(String args[]) throws IOException {
try { // 创建文件输入流对象
FileInputStream rf = new FileInputStream("OpenFile.java ");
int n = 512;
byte buffer[] = new byte[n];
while ((rf.read(buffer, 0, n) != -1) && (n > 0)) // 读取输入流
{
System.out.print(new String(buffer));
}
System.out.println();
rf.close(); // 关闭输入流
} catch (IOException ioe) {
System.out.println(ioe);
} catch (Exception e) {
System.out.println(e);
}
}
}
/*
* 例 2 写入文件。
* 本例用System.in.read(buffer)从键盘输入一行字符,存储在缓冲区buffer中,再以FileOutStream的write(buffer)方法,将buffer中内容写入文件Write1.txt中,程序如下:
*/
class Write1 {
public static void main(String args[]) {
try {
System.out.print("Input: ");
int count, n = 512;
byte buffer[] = new byte[n];
count = System.in.read(buffer); // 读取标准输入流
FileOutputStream wf = new FileOutputStream("Write1.txt ");
// 创建文件输出流对象
wf.write(buffer, 0, count); // 写入输出流
wf.close(); // 关闭输出流
System.out.println("Save to Write1.txt! ");
} catch (IOException ioe) {
System.out.println(ioe);
} catch (Exception e) {
System.out.println(e);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你最好把程序发上来,不然很难猜.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
莫名奇妙的异常是什么啊?你不贴出来谁能帮你啊~!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还是用配置文件吧~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询