
分为读字节,读字符两种读法
◎◎◎FileInputStream 字节输入流读文件◎◎◎
public class Maintest {
public static void main(String[] args) throws IOException {
File f=new File("G:\\just for fun\\xiangweitxt");
FileInputStream fin=new FileInputStream(f);
byte[] bs=new byte[1024];
int count=0;
while((count=finread(bs))>0)
{
String str=new String(bs,0,count); //反复定义新变量:每一次都 重新定义新变量,接收新读取的数据
Systemoutprintln(str); //反复输出新变量:每一次都 输出重新定义的新变量
}
finclose();
}
}
◎◎◎FileReader 字符输入流读文件◎◎◎
public class Maintest {
public static void main(String[] args) throws IOException {
File f=new File("H:\\just for fun\\xiangweitxt");
FileReader fre=new FileReader(f);
BufferedReader bre=new BufferedReader(fre);
String str="";
while((str=brereadLine())!=null) //●判断最后一行不存在,为空
{
Systemoutprintln(str);
}
breclose();
freclose();
}
}
import javaioBufferedReader;
import javaioFile;
import javaioFileNotFoundException;
import javaioFileReader;
import javaioIOException;
import javaioPrintWriter;
import javautilArrayList;
import javautilHashMap;
import javautilList;
import javautilMap;
public class Testa
{
public static void main(String[] args)
{
//传入参数为文件目录
test("d:/atxt");
}
public static void test(String filePath){
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(filePath));
} catch (FileNotFoundException e) {
eprintStackTrace();
return;
}
String []columnName = {"Id", "Name", "Languages", "Math", "English"}; //列名
int []courseIndexs = {2, 3, 4}; //课程对应的列
int i,j,index;
String line;
List> students = new ArrayList>();
//记录Id和总值,用于排序
List> sortList = new ArrayList>();
try {
brreadLine(); //去掉第一行
while((line = brreadLine()) != null){
index = 0;
String []se = linesplit(" ");
Map student = new HashMap();
for(i = 0; i < selength; i++){
if(""equals(se[i])){
continue;
}
if(index >= columnNamelength){
continue;
}
studentput(columnName[index], se[i]);
index++;
}
//计算平均值,总值
double total = 0;
for(j = 0; j < courseIndexslength; j++){
total += DoubleparseDouble((String) studentget(columnName[courseIndexs[j]]));
}
double average = total / courseIndexslength;
//只取一位小数
average = Mathround(average 10)/10;
studentput("Total", total);
studentput("Average", average);
Map sort = new HashMap();
sortput("Id", studentget("Id"));
sortput("Total", studentget("Total"));
sortListadd(sort);
studentsadd(student);
}
brclose();
//排序
for(i = 0; i < sortListsize(); i++){
for(j = i + 1; j < sortListsize(); j++){
if((Double)sortListget(i)get("Total") < (Double)sortListget(j)get("Total")){
Map temp = sortListget(i);
sortListset(i, sortListget(j));
sortListset(j, temp);
}
}
}
Map sortedId = new HashMap();
for(i = 0; i < sortListsize(); i++){
sortedIdput(sortListget(i)get("Id"), i+1);
}
//设定序号
for(j = 0; j < studentssize(); j++){
studentsget(j)put("Order", sortedIdget(studentsget(j)get("Id")));
}
//输出(写到原文件)
//PrintWriter pw = new PrintWriter(new File(filePath));
//输出(写到其他文件)
PrintWriter pw = new PrintWriter(new File("D:/btxt"));
pwprintln("Id\tName\tLan\tMath\tEnglish\tAverage\tTotal\tSort");
int cIndex;
for(i = 0; i < studentssize(); i++){
Map st = studentsget(i);
cIndex = 0;
pwprintln(stget(columnName[cIndex++]) + "\t" + stget(columnName[cIndex++])
+ "\t" + stget(columnName[cIndex++])+ "\t" + stget(columnName[cIndex++])
+ "\t" + stget(columnName[cIndex++])
+ "\t" + stget("Total")
+ "\t" + stget("Average")
+ "\t" + stget("Order"));
}
pwflush();
pwclose();
} catch (IOException e) {
eprintStackTrace();
}
}
}
在工程目录下,输入文件是123txt 输出resulttxt
package zhidao;
import javaioFileNotFoundException;
import javaioIOException;
public class zhidao {
public static void main(String[] args) throws IOException {
int average=0;
int count=0;
String strInput;
javaioBufferedReader reader=new javaioBufferedReader(new javaioFileReader( "\\123txt "));
javaioBufferedWriter writer=new javaioBufferedWriter(new javaioFileWriter( "\\resulttxt "));
if ((strInput=readerreadLine())!=null)
{
String[] strItems = strInputsplit(" ");
for(String item:strItems)
{
average+=IntegerparseInt(item);
count++;
}
}
writerwrite(DoubletoString(average/(count10)));
readerclose();
writerclose();
}
}
//根据你的要求修改了一下代码,现在已经能将某文件夹下的所有指定类型文件复制到
//指定文件夹下了
import javaioBufferedInputStream;
import javaioBufferedOutputStream;
import javaioFile;
import javaioFileInputStream;
import javaioFileOutputStream;
public class ReadFiles {
public static final String FILTER = "xml";
public static final String SRC_DIR = "E:\\StudyData";// 待扫描的文件夹
public static final String DES_DIR = "E:\\testdata";// 复制后的目标文件夹
public static void main(String[] args) {
long a = SystemcurrentTimeMillis();
scanDir(SRC_DIR, DES_DIR);
Systemoutprintln("共花费时间:"+(SystemcurrentTimeMillis() - a)/1000+"秒");
}
public static void scanDir(String srcPath, String desPath) {
File dir = new File(srcPath);
File[] files = dirlistFiles();
if (files == null)
return;
for (int i = 0; i < fileslength; i++) {
if (files[i]isDirectory()) {
scanDir(files[i]getAbsolutePath(), desPath);
} else {
String strFileName = files[i]getAbsolutePath()toLowerCase();
copyFile(strFileName, desPath + files[i]getName());
}
}
}
public static void copyFile(String srcName, String destName) {
if (srcNameendsWith(FILTER)) {
Systemoutprintln("正在复制文件 "+srcName+" 至 "+destName);
try {
BufferedInputStream in = new BufferedInputStream(
new FileInputStream(srcName));
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(destName));
int i = 0;
byte[] buffer = new byte[2048];
while ((i = inread(buffer)) != -1) {
outwrite(buffer, 0, i);
}
outclose();
inclose();
} catch (Exception ex) {
exprintStackTrace();
}
}
}
}
以上就是关于Java获取网络文件并插入数据库全部的内容,包括:Java获取网络文件并插入数据库、java 根据文件获取文件名及路径的方法、java中如何从文件中读取数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)