问题:如题指定读取D:\bank\目录下的所有文件,文件内容以逗号隔开,分别读取每行中的每个字段的内容
1602000000,001C1224,777777777771,000000021001,1,1,2100.00,0.00
请大家提供一个这样的例题,没时间写了,希望有个现成的修改一下,比较急。
1602000000,001C1224,777777777771,000000021001,1,1,2100.00,0.00
请大家提供一个这样的例题,没时间写了,希望有个现成的修改一下,比较急。
解决方案 »
- tomcat很有规律的崩溃
- 关于注解上传问题?
- struts 2 中Action类中结果集ResultSet如何处理,如何传送到jsp页面?
- 请学姐、学哥帮帮我,我的Tomcat怎么启动不了?
- 服务器端如何判断上传Excel 小于2M的允许上传 -----------------------------救命啊。。。。。。
- 求救,在线等待,linux--tomcat问题,解决立马给分
- 研究方向(选题)
- 请会hibernate的朋友来看看,初学者请求帮助
- 哪位能提供一下在JBOSS下配置Hibernate的例子,用JBOSS的链接池,我配了好多天了一直没有成功
- 请问有好点的关于STRUTS的教程或是文章吗(小弟在线守侯)
- 我想自己封装Log4j 为啥不行呢
- struts1.2+spring1.2+hibernate3.0+oracle9i
已经测试通过。
import java.io.BufferedReader;
import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author jishu_vip
*
*/
public class GetAndReadAllFile {
/**
* 获取一个文件夹下的所有文件
* 要求:后缀名为txt (可自己修改)
* @param file
* @return
*/
public static List<String> getFileList(File file) {
List<String> result = new ArrayList<String>();
if (!file.isDirectory()) {
System.out.println(file.getAbsolutePath());
result.add(file.getAbsolutePath());
} else {
//内部匿名类,用来过滤文件类型
File[] directoryList=file.listFiles(new FileFilter(){
public boolean accept(File file) {
if (file.isFile() && file.getName().indexOf("txt") > -1) {
return true;
} else {
return false;
}
}
});
for(int i=0;i<directoryList.length;i++){
result.add(directoryList[i].getAbsolutePath());
}
}
return result;
}
/**
* 以UTF-8编码方式读取文件内容
* @param path
* @return
* @throws IOException
*/
public static String getContentByLocalFile (File path) throws IOException{
InputStream input=new FileInputStream(path);
InputStreamReader reader=new InputStreamReader(input,"utf-8");
BufferedReader br = new BufferedReader(reader);
StringBuilder builder = new StringBuilder();
String temp = null;
while((temp = br.readLine())!=null){
builder.append(temp);
}
return builder.toString();
} /**
* @param args
*/
public static void main(String[] args) throws IOException{
//Test get and read all file
List<String> fileList=getFileList(new File("F:\\test"));
String fileContent=null;
String[] content = null;
for(String s:fileList){
//打印文件名
System.out.println(s);
//文件内容
fileContent=getContentByLocalFile (new File(s));
//打印文件内容
System.out.println(fileContent);
//以逗号为单位进行拆分字段
content=fileContent.split(",");
for(String c:content){
System.out.print(c+"\t");
}
System.out.println();
}
}}
public class Test {
public static void main(String [] args) throws Exception{
File folder=new File("d:\\test");
File[] entries=folder.listFiles();
int b=0;
for(File f:entries){
System.out.println(f.getName());
FileReader fr=new FileReader(f);
StringBuffer strbufer=new StringBuffer();
while((b=fr.read())!=-1){
if((char)b==','){
System.out.println(strbufer);
strbufer.delete(0, strbufer.length());
}
else
if(b==13){
System.out.println(strbufer);
strbufer.delete(0, strbufer.length());
}
else{
strbufer.append((char)b);
}
}
}
}
}
经测试成功
新建 文本文档.txt
xxx
sss
fff
复件 新建 文本文档.txt
xxx
sss
fff
复件 复件 新建 文本文档.txt
xxx
sss
fff
复件 复件 复件 新建 文本文档.txt
xxx
sss
fff
复件 (2) 新建 文本文档.txt
xxx
sss
fff
public class Test {
public static void main(String [] args) throws Exception{
File folder=new File("d:\\test");
File[] entries=folder.listFiles();
int b=0;
for(File f:entries){
System.out.println(f.getName());
FileReader fr=new FileReader(f);
BufferedReader br=new BufferedReader(fr);
String str="";
while((str=br.readLine())!=null){
String [] strArray=str.split(",");
for(String s:strArray){
System.out.println(s);
}
}
br.close();
fr.close();
}
}
File[] file = fi.listFiles(); //得到bank文件夹列表
for (int i = 0; i < file.length; i++) { //循环bank文件夹
if (file[i].isFile()) { //如果是文件就打印出来
String filStr = file[i].getAbsolutePath(); //改一下这个地方这里是打出文件的绝对路径
InputStreamReader read = new InputStreamReader(new FileInputStream(filStr), "GBK");
BufferedReader reader = new BufferedReader(read);
String line;
int count = 0;
String OPNO = "", GNIT ="";
String[] content = null; String fileStr = filStr.substring(8, 9);
while ( (line = reader.readLine()) != null) { //逐行循环读取
count++;
content = line.split(",");
OPNO = content[3].trim(); //预算单位代码
OPTP = content[5].trim(); //预算种类
}