java中如何读文件,谁有相关的代码,请贴一个吧,谢谢

weiyiabout 2008-05-14 09:59:13
如果a.txt中的内容是
5
adf 3
asa 5
ts 23
re 14
rt 67

在java中应该怎么把它读出来并存在一个数组里面啊,对java不熟
...全文
201 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ThirdDimension 2008-05-15
  • 打赏
  • 举报
回复
类似这个帖论坛里很多了

/**
*
*/

/**
* @author CHN
*文件输入输出
*/
import java.io.*;
import javax.swing.*;
public class test1 {

private BufferedWriter writer=null;
private boolean Flg=false;
public String dir="E:/workspace/TestSpace/";

private void createFile(){
try{
if(!(new File(dir).isDirectory())){
new File(dir).mkdir(); //创建文件
}
new File(dir +"newdata/").mkdir(); //创建文件夹

if(new File(dir +"myfile.txt").exists()){ //如果文件存在就删除文件
deleteFile(new File(dir +"myfile.txt"));
}

File myFile = new File(dir +"myfile.txt"); //声明myFile实例
myFile.createNewFile(); //创建一个新的文件

}catch(Exception e){
System.out.println("can not make directory");

}
}
private void deleteFile(File file){ // 删除文件
file.delete();
}
private void writerFile(String dir,String str){ //写文件

try{
if (writer==null){ //程序启动第一次加载时,创建文件
writer = new BufferedWriter(new FileWriter(new File(dir)));
}
writer.write(str); //向文件里写数据
writer.newLine(); //增加一行
writer.flush(); //释放缓冲区并更新

}catch(Exception e){
e.printStackTrace();
}
}
private void readerFile(String dir){ //读文件
StringBuffer sb = new StringBuffer();
String str=null;
try{
if(new File(dir).isDirectory()){ //文件是否存在,不存在退出程序。
//System.out.println("异常!文件不存在。程序将结束");
JOptionPane.showMessageDialog(null, "异常!文件不存在。程序将结束" );
System.exit(0); //退出程序
}
BufferedReader reader=new BufferedReader(new FileReader(new File(dir)));
while ((str = reader.readLine()) != null) {

sb.append(str);
sb.append("\n");//换行

writerFile("E:/workspace/TestSpace/myfile.txt",sb.toString());
sb.delete(0,sb.length()); // 删除StringBuffer sb中的数据。
}
}catch(Exception e){
e.printStackTrace();
}
}
//public void setFlg(boolean flag){
// this.Flg=flag;
//}
//public boolean isFlg(){
// return Flg;
//}
public static void main(String[] args) {
String dir="E:/workspace/TestSpace/myfile.txt";
String writeDir="E:/workspace/TestSpace/writerfile.txt";
test1 ts=new test1();
ts.createFile();
ts.readerFile(writeDir);
ts.writerFile(dir, "abcdefghijklmnopqrstuvwxyz");
ts.writerFile(dir, "1234567890");




}

}



























cursor_wang 2008-05-15
  • 打赏
  • 举报
回复
你自己上面的帖子怎么写的,你看看清楚!还说别人不懂你的意思,根本是你自己表达不清楚.到现在也没有人能看懂.
pengdayong 2008-05-15
  • 打赏
  • 举报
回复
你没有写明白你需要的结果。
你想要这些结果是什么样的,写个例子出来
weiyiabout 2008-05-14
  • 打赏
  • 举报
回复
To:cursor_wang

我不是想把从文件读出来的数据,显示出来,我是想通过某个算法对这些数据进行处理,处理之后再将结果输出
RoronoaZoro 2008-05-14
  • 打赏
  • 举报
回复
open(FH,"filepath");
while(<FH>){
@data = <FH>;
}



open (FH,"filepath");
$data = do{local $/;<FH>;};

云上飞翔 2008-05-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 anqini 的回复:]
Java code
package org;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class Csdn {
public static void main(String[] args) throws IOException{
BufferedReader bf = null;
try{
bf = new BufferedReader(new FileReader(new File("E:\\test.t…
[/Quote]
答:Kimi的代码写的不错!顶一个!
cursor_wang 2008-05-14
  • 打赏
  • 举报
回复
帮你写好了.
import java.io.*;
import java.util.*;
public class ReadFile{

public static void main(String[] args){
List<String> list=new ArrayList<String>();
try{
BufferedReader br=new BufferedReader(new FileReader("a.txt"));
String s;
int i=0;
while((s=br.readLine())!=null)
{
list.add(s);
//System.out.println(++i+":"+s);

}
br.close();
}catch(FileNotFoundException e1){
System.err.print("File not found!");
}catch(IOException e2){
System.out.print(e2);
}

Iterator it=list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}
weiyiabout 2008-05-14
  • 打赏
  • 举报
回复
import java.io.*;
import java.util.ArrayList;

public class Test {

public static void main(String[] args) throws IOException {
File file = new File("d:\\a.txt");
FileReader fr = new FileReader(file);
ArrayList arraylist = new ArrayList();// 声明数组
int str;
// 从文件里读取内容
while ((str = fr.read()) != -1) {
arraylist.add(str);// 把读取的内容增加到数组中
}
System.out.println(arraylist);
}
}
结果:[53, 13, 10, 97, 100, 102, 32, 51, 13, 10, 97, 115, 97, 32, 53, 13, 10, 116, 115, 32, 50, 51, 13, 10, 114, 101, 32, 49, 52, 13, 10, 114, 116, 32, 54, 55]

///////////////////////////////////////////////////
你这个程序只是每次读了一个字符,输出时变成了数字(ArrayList的ToString()方法进行的转换)
不是我的意思
谢谢
weiyiabout 2008-05-14
  • 打赏
  • 举报
回复
每次读一行,然后保存起来,那我要是想得到这些数据里的某一个,如adf,还是比较麻烦啊。
最好是第一个存在变量n里
剩下的所有的字符串存在一个String[]中,
剩下的所有数字存在一个int[]中
这样也便于进行数值的操作,就像用C/C++读似的
刘彬彬 2008-05-14
  • 打赏
  • 举报
回复
LZ,偶给你写了个,关键部分都有注释,希望对你有帮助,
import java.io.*;
import java.util.ArrayList;

public class Test {

public static void main(String[] args) throws IOException {
File file = new File("d:\\a.txt");
FileReader fr = new FileReader(file);
ArrayList arraylist = new ArrayList();// 声明数组
int str;
// 从文件里读取内容
while ((str = fr.read()) != -1) {
arraylist.add(str);// 把读取的内容增加到数组中
}
System.out.println(arraylist);
}
}
anqini 2008-05-14
  • 打赏
  • 举报
回复

package org;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class Csdn {
public static void main(String[] args) throws IOException{
BufferedReader bf = null;
try{
bf = new BufferedReader(new FileReader(new File("E:\\test.txt")));
List<String> list = new ArrayList<String>();
String line = null;
while((line=bf.readLine())!=null)
list.add(line);
String[] array = list.toArray(new String[0]);
for(String s:array)
System.out.println(s);
}finally{
if(bf!=null)
bf.close();
}
}
}

anqini 2008-05-14
  • 打赏
  • 举报
回复

package org;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class Csdn {
public static void main(String[] args) throws IOException{
BufferedReader bf = new BufferedReader(new FileReader(new File("E:\\test.txt")));
List<String> list = new ArrayList<String>();
String line = null;
while((line=bf.readLine())!=null)
list.add(line);
String[] array = list.toArray(new String[0]);
for(String s:array)
System.out.println(s);

}
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧