❶ java如何读取TXT文件中的部分数字
java读取txt文件内容,可以作如下理解:
1、首先获得一个文件句柄。File file = new File(); file即为文件句柄。两人之间连通电话网络了,接下来可以开始打电话了;
2、通过这条线路读取甲方的信息:new FileInputStream(file) 目前这个信息已经读进来内存当中了。接下来需要解读成乙方可以理解的东西;
3、既然使用了FileInputStream()。那么对应的需要使用InputStreamReader()这个方法进行解读刚才装进来内存当中的数据;
4、解读完成后就要输出,那么要转换成IO可以识别的数据。那就需要调用字节码读取的方法BufferedReader(),同时使用BufferedReader()的readline()方法读取txt文件中的每一行数据。
参考代码如下:
package com.campu;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.Reader;
/**
* @author 码农小江
* H20121012.java
* 2012-10-12下午11:40:21
*/
public class H20121012 {
/**
* @param filePath
*/
public static void readTxtFile(String filePath){
try {
String encoding="GBK";
File file=new File(filePath);
if(file.isFile() && file.exists()){ //判断文件是否存在
InputStreamReader read = new InputStreamReader(
new FileInputStream(file),encoding);//考虑到编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
while((lineTxt = bufferedReader.readLine()) != null){
System.out.println(lineTxt);
}
read.close();
}else{
System.out.println("找不到指定的文件");
}
} catch (Exception e) {
System.out.println("读取文件内容出错");
e.printStackTrace();
}
}
public static void main(String argv[]){
String filePath = "L:\\Apache\\htdocs\\res\\20121012.txt";
// "res/";
readTxtFile(filePath);
}
}
❷ java中读取txt文件时怎么将数字和字符串提取出来
package test;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
class Test {
private static BufferedReader bw;
public static void main(String[] args) {
String ss = null;
List<TestPo> list = new ArrayList<TestPo>();
try{
File file=new File("E:\\test.txt");
FileOutputStream out=new FileOutputStream(new File("E:\\test1.txt"),true);
bw=new BufferedReader(new FileReader(file));
boolean flag = true;
int[] temps = null;
while((ss=bw.readLine())!=null){
String[] mark = ss.split(":");
int sum =0;
TestPo po = new TestPo();
int[] temp = new int[mark.length-1];
temps = new int[mark.length-1];
for (int i = 1;i< mark.length;i++) {
temp[i-1] = Integer.parseInt(mark[i].trim());
sum += temp[i-1];
if (flag) {
temps[i-1] = 0;
}
}
flag = false;
po.setMark(temp);
po.setName(mark[0]);
po.setAvg(sum/(mark.length-1));
list.add(po);
out.write(("\t\n"+ss).getBytes());
}
bw.close();
out.close();
int row = list.size();
int[][] marks = new int[row+1][];
for (int i = 0; i < row; i++) {
marks[i] = list.get(i).getMark();
}
marks[row] = temps;
int sumTemp =0 ;
int count = list.get(0).getMark().length;
for (int i = 0; i < count; i++) {
for (int j = 0; j < row; j++) {
sumTemp += marks[j][i];
}
marks[row][i] = sumTemp/row;
sumTemp = 0;
}
for (int[] is : marks) {
for (int i : is) {
System.out.print(i+" ");
}
System.out.println();
}
}catch(IOException e){
e.printStackTrace();
}
for (TestPo po : list) {
System.out.println("Name:"+po.getName()+" AVG:"+po.getAvg());
}
}
}
class TestPo{
private String name;
private Integer avg;
private int[] mark;
public int[] getMark() {
return mark;
}
public void setMark(int[] mark) {
this.mark = mark;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAvg() {
return avg;
}
public void setAvg(Integer avg) {
this.avg = avg;
}
}
❸ java 按行读取txt文件的数字
可以通过Java的IO流实现txt文本的读取,然后用readline实现按行读取。具体代码如下:
packagetest;
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileReader;
importjava.io.IOException;
importjava.util.ArrayList;
importjava.util.List;
publicclassTest{
publicstaticdouble[]writeToDat(Stringpath){
Filefile=newFile(path);
Listlist=newArrayList();
double[]nums=null;
try{
BufferedReaderbw=newBufferedReader(newFileReader(file));
Stringline=null;
//因为不知道有几行数据,所以先存入list集合中
while((line=bw.readLine())!=null){
list.add(line);
}
bw.close();
}catch(IOExceptione){
e.printStackTrace();
}
//确定数组长度
nums=newdouble[list.size()];
for(inti=0;i<list.size();i++){
Strings=(String)list.get(i);
nums[i]=Double.parseDouble(s);
}
returnnums;
}
publicstaticvoidmain(String[]args){
Stringpath="d:/file4.txt";
double[]nums=writeToDat(path);
for(inti=0;i<nums.length;i++){
System.out.println(nums[i]);
}
}
}
❹ JAVA怎么读取一个TXT文件的数字(数字有几万个)并画出坐标图
1.用java.io读出txt的内容到一个String里面
2.使用String.split()以“\n”分割。这样每一个元素就是每一行的横竖坐标
3.使用循环,在用String.split()以“ ”分割。这样每个元素就是横坐标和纵坐标
4.把这两个数读给Graphics就可以绘制了
其实挺简单的
❺ java写入txt文件 想要修改txt文件每一行的第一个数字 加一就好
java实现向txt每行增加一位数字,思路是这样的:使用I/O操作每次读取一行文字,使用string增加一个数字一,保存在缓存另一个list里面,后接一个换行符,等到全部读取完毕,在读取list的内容,写入txt文件里面,示例如下:
packagecom.zeal.card;//这里是我自己临时用的包名,你自己改一下就好了
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.InputStreamReader;
publicclassDemo{
/**
*主方法
*@paramargs
*/
publicstaticvoidmain(String[]args){
printData();
}
/**
*读取txt文档第一行数据中的第3位到第9位,并输出到控制台
*/
publicstaticvoidprintData(){
//定义文本文件数组,这里是临时演示用,请自己改写
String[]txtFiles={
"c:/a.txt",
"c:/b.txt",
"c:/c.txt",
};
//遍历文件
for(inti=0;i<txtFiles.length;i++){
try{
//得到文件
Filefile=newFile(txtFiles[i]);
//如果文件存在
if(file.exists()){
//建立缓冲包装器
BufferedReaderin=null;
in=newBufferedReader(newInputStreamReader(newFileInputStream(file)));
//读出一行(因为只是读一行,没必要遍历全部文件内容)
Stringtemp=in.readLine();
//如果不为空,并且长度至少为9
if(temp!=null){
Stringtxt="一"+temp;//每行前面增加一个数字一。
System.out.println("取出数据:"+txt);
Listli=newArrayList();
Listli=newArrayList();
li.add(temp);
}
}
BufferedWriterin=null;
in=newBufferedWriter(newInputStreamWriter(newFileOutputStream(file)));
}
}catch(Exceptione){
e.printStackTrace();
}
}
}
}