社区
Java SE
帖子详情
关于 文件读写
杨洪波
2002-05-05 02:18:36
我做一个程序,现在的问题是:
总共是三个串,我想按顺序将他们写到同一个文件中,请问用什么类,什么方法?第一个串的长度可变不固定。
...全文
66
11
打赏
收藏
关于 文件读写
我做一个程序,现在的问题是: 总共是三个串,我想按顺序将他们写到同一个文件中,请问用什么类,什么方法?第一个串的长度可变不固定。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
杨洪波
2002-05-08
打赏
举报
回复
对不起,我几天没来了。
我上次回,就已经想给分了。只是没空来。
你的方法很好。
我实现时,将文件长度也也进去了。我的功能已经实现。
非常感谢。
newman0708
2002-05-07
打赏
举报
回复
telenths(非法操作)
见得很具体,很好啊。
快给他分数把
telenths
2002-05-06
打赏
举报
回复
如果已经知道了串的长度就好办多了
建议你这样做:
文件以此写入:
50字节的串str1
60字节的串str2
file.txt 的内容
读文件时可以用 RandomAccessFile(随机存取)
先读取50个字节 -> byte[] -> str1
再读取60个字节 -> byte[] -> str2
最后用 readLine() 方法把剩下的读完
至于 \n 我想因该考虑进去,
因为 Java 在读文件时会把 \n 也作为一个 byte
而 readLine() 是以 \n 作为结束标志的
杨洪波
2002-05-05
打赏
举报
回复
TO:telenths(非法操作)
非常感谢你的程序。
但我有一个问题:这里一定要考虑 \N 吗?
我的具体意思是这样的:
(1)有一个文件file.txt(这个文件是由用户选的,长度不定)。
(2)有一个50字节的串str1。这个串是我以前将一个结构用ObjectOutputStream写到文件中的,现在将它读出来。不一定读成串的形式,我现在只会把他用ObjectInputStream读成以前的结构。但我想,应该可以把它读为串吧。因为保存他的文件可以用记事本打开。
(3)有另一个串str2是60字节的。
我想将这三部分用一个文件保存。用邮件发给对方。对方收到我发的文件,能将这三部分分别读出来。
我的意思是,只要能把他们读出就可。不一定要是串的形式。
能不能不考虑 文件中的"\n"这样的东西?
telenths
2002-05-05
打赏
举报
回复
是我把文件位置放错了
代码没有问题,不知是不是符合你的要求
可我总觉得有点麻烦
telenths
2002-05-05
打赏
举报
回复
按你的要求,我的思路是这样的
因为串里可能包含 \n
所以读文件时必须得知道串的长度
文件包含两部分信息
N
Data
读文件时先读取文件长度,再读取数据,同时与长度比较
下面是我的 Code :
//*****************************************
写文件:
FileWriter Writer = new FileWriter("file.txt");
Writer.write(Data1.length()+"\n");
Writer.write(Data1+"\n");
Writer.write(Data2.length()+"\n");
Writer.write(Data2+"\n");
Writer.write(Data3.length()+"\n");
Writer.write(Data3+"\n");
Writer.flush();
Writer.close();
//******************************************
读文件:
String str = "";
String[] Data = {"","",""};
int size;
try{
BufferedReader Reader = new BufferedReader(new FileReader("file.txt"));
for(int i = 0;i < 3;i++){
while(true){
str = Reader.readLine();
if(str.equals("")) continue;
size = new Integer(str).intValue(); //Exception
break;
}
while(true){
str = Reader.readLine();
if (str == null) break;
Data[i] += str;
if(Data[i].length() < size) continue;
else break;
}
}
Reader.close();
}catch(Exception e){
}
//**************************************************
可是好像有点问题,也许还有更好的思路,大家拿出来讨论讨论
杨洪波
2002-05-05
打赏
举报
回复
我想是我没说清楚。
telenths(非法操作)是实现将文件读成穿串。
我的意思是说,文件读成的串是变长的。
我要将这三个串存为文件。
在以后从该文件中将三个串分别读出来。怎么实现。
顺便问一下:有谁懂签名啊?请问用DSA算法对定长的串签的名长度是否固定?
非常感谢。
telenths
2002-05-05
打赏
举报
回复
String str = "";
String data = "";
BufferedReader Reader = new BufferedReader(new FileReader("file.txt"));
while(true){
str = Reader.readLine();
if (str == null) break;
data += str;
}
Reader.close();
//return data;
杨洪波
2002-05-05
打赏
举报
回复
是这样的,我的第一个串是从文件中读出来的(整个文件是个串)。
请问怎么读成串?
alphazhao
2002-05-05
打赏
举报
回复
依我看,他的本意可能不是要这样
应该不会这么简单吧
wangwenyou
2002-05-05
打赏
举报
回复
String str1 = "1";
String str2 = "2";
String str3 = "3";
String str = str1 + str2 +str3;
FileOutputStream out = new FileOutputStream( fileName );
out.write( str );
out.close();
dom4j-1.6.1.jar (dom4j) 欢迎下载
dom4j-1.6.1.jar,Dom4j是一个Java的XML API接口,是jdom的进化版,dom4j基本用来读写xml文件,是一个十分优秀的JavaXML API接口
C语言文件操作(
文件读写
)
文件的打开与关闭三、文件的顺序读写总结 前言 本文主要介绍C语言中文件操作的相关内容(例:文件读、写等相关函数)。 一、文件 在对计算机的使用中我们几乎离不开文件。例如常见的有word 文档,txt文本文件,图片...
关于
文件读写
冲突问题的探索
有时候会出fwrite.c错误(windows 下面),项目中除了日志会对文件进行读写而外,没有文件读内容,所以第一个想法就是:是不是日志写发生冲突了? 虽然这种错误的情况比较少,但还是引起了我的注意,于是我有一个...
Python 文件的读写操作
文章目录一、Python
文件读写
概述二、使用 open() 打开文件三、使用 read()、readline()、readlines() 读取数据四、使用 write()、writelines() 写入文件最后 一、Python
文件读写
概述 Python 在
文件读写
操作中,会...
C语言
文件读写
操作(详解)
进行C语言文件的读写时,都会先进行“打开文件”操作,这个操作就是在打开数据流,而“关闭文件”操作就是关闭数据流。 缓冲区 在程序执行时,所提供的额外内存,可用来暂时存放准备执行的数据。它的设置是为了提高...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章