社区
Java SE
帖子详情
关于 文件读写
杨洪波
2002-05-05 02:18:36
我做一个程序,现在的问题是:
总共是三个串,我想按顺序将他们写到同一个文件中,请问用什么类,什么方法?第一个串的长度可变不固定。
...全文
94
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();
【Python
文件读写
】— txt文件
该博客主要介绍Python
文件读写
相关知识。
文件读写
模式有'r'、'w'、'a'三类,可搭配'b'和'+'构成12种模式。还给出读文件(如read()、readline()函数)和写文件(如write()函数)的示例,以及另一种txt
文件读写
的书写形式。
Qt——文件的读写操作
本文详细介绍了Qt框架下如何进行文件的读写操作,包括使用QFile和QTextStream类进行文本文件的读写,以及通过QFileInfo获取文件元数据。示例代码展示了读取文件内容到文本框、文件写操作以及读取和写入ini配置文件的方法。
Python
文件读写
本文介绍了Python中常见文件的读写操作,包括普通文本文件、CSV文件、二进制文件等。详细阐述了普通
文件读写
的操作流程、打开语法等,还提及了with上下文管理器简化代码。此外,讲解了对象的序列化和反序列化,涉及pickle和json模块,以及JSON与Python数据类型的对应关系。
c++
文件读写
本文详细介绍了C++中的
文件读写
操作,包括ofstream、ifstream和fstream的使用,以及不同方式的读写数据,如按元素、按行、按字符和按变量读取。还展示了如何进行数据类型转换,特别是从文件读取字符或字符串并转化为数值类型。最后,文章通过实例演示了读取点云数据并进行可视化的实现。
C语言之文件顺序读写和随机读写
本文深入探讨C语言中文件顺序读写与随机读写的多种函数应用,包括fgetc、fputc、fgets、fputs、fprintf、fscanf、fread、fwrite及fseek等,并通过实例展示它们的功能与使用场景。
Java SE
62,622
社区成员
307,255
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章