标题:java IO stream的问题
只看楼主
小光vs小熊
Rank: 2
等 级:论坛游民
帖 子:18
专家分:10
注 册:2011-9-5
结帖率:0
已结贴  问题点数:10 回复次数:7 
java IO stream的问题
1、从键盘上输入一些字符,可以有回车,以”#”结束输入;将输入的这些字符写到文本文件”a.txt”中     
2、读取”a.txt”中的内容,计算字符数和行数
求解
搜索更多相关主题的帖子: java 文本文件 stream 
2012-05-29 11:27
ab1034982749
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:215
专家分:1185
注 册:2012-4-14
得分:10 
import *;
import java.util.*;
public class IO
{
    public void reader() throws IOException
    {
        FileReader fr=new FileReader("a.txt");
        char []buf=new char[1024];
        fr.read(buf);
        String str=new String(buf);
        
        System.out.println(str.trim());
    }
        
    public static void main(String[]arguments) throws IOException
    {
        InputStreamReader input =new InputStreamReader(System.in);
        BufferedReader reader=new BufferedReader(input);
        System.out.println("请输入字符:");
        String str=reader.readLine();
        StringTokenizer stream=new StringTokenizer(str,"#");
        String str1=stream.nextToken();
        FileWriter fw=new FileWriter("a.txt");
        fw.write(str1);
        fw.close();
        IO io=new IO();
        io.reader();
    }
}
2012-05-30 00:07
小光vs小熊
Rank: 2
等 级:论坛游民
帖 子:18
专家分:10
注 册:2011-9-5
得分:0 
我试了下,有点问题哦,就是当输入一些字符后想换行继续输,就按enter键,却直接输出了,题目里是当输入了#后才能结束啊
2012-05-30 21:42
小光vs小熊
Rank: 2
等 级:论坛游民
帖 子:18
专家分:10
注 册:2011-9-5
得分:0 
追加下问题:将这两个题放在一个类中
2012-05-30 22:10
ab1034982749
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:215
专家分:1185
注 册:2012-4-14
得分:0 
回复 2楼 ab1034982749
这个程序只能读去一行,如果你要读去多行,就自己试着改改
2012-05-31 08:11
小光vs小熊
Rank: 2
等 级:论坛游民
帖 子:18
专家分:10
注 册:2011-9-5
得分:0 
我已经做好了
2012-05-31 12:52
hfhf2006
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:62
专家分:169
注 册:2012-6-29
得分:0 
读入不能用readlin()读入,要循环读入字符,判断读入“#”结束循环,在输出
2012-06-30 10:59
星寒
Rank: 1
等 级:新手上路
帖 子:2
专家分:2
注 册:2012-6-22
得分:0 
import
import
import
import
import
import
import
import
import
import

public class ReadChar {
    //得到字符数的方法;
    public static int getCharNumber(String FilePath) throws FileNotFoundException{
        File file=new File(FilePath);
        int number=(int)file.length();
        return number/2;
    }
    //得到行数的方法;
    public static int getLinesNumber(String FilePath) throws IOException{
        File file=new File(FilePath);
        int number=0;
        BufferedReader br=new BufferedReader(new FileReader(file));
        for(;;){
            if(br.readLine()==null) break;
            else number++;
        }
        br.close();
        return number;
        
    }
    //将字符写入文件;
    public static void writeFile(String FilePath,String content) throws IOException{
        File file=new File(FilePath);
        BufferedWriter bw=new BufferedWriter(new FileWriter(file));
        bw.write(content);
        bw.close();
    }
    //主方法;
    public static void main(String[] args) throws IOException {
        
        File file=new File("E:\\计算机文件\\JAVA\\hh.txt");
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        char []charArray=new char[300];
        int k=0;
        for(;;){
            int i=br.read();
            char c=(char)i;
            if(c!='#') {
                charArray[k]=c;
                k++;
            }
            else break;
        }
        br.close();
        String readline=new String(charArray);
        System.out.println(readline.trim());
        
        writeFile("E:\\计算机文件\\JAVA\\hh.txt",readline.trim());
        
        int n=getLinesNumber("E:\\计算机文件\\JAVA\\hh.txt");
        System.out.println(n);
        
        int n1=getCharNumber("E:\\计算机文件\\JAVA\\hh.txt");
        System.out.println(n1);
    }
}
2012-07-05 23:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-368217-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.529029 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved