JAVA 图书管理系统,怎么用流读取TXT文档在控制台显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 图书管理系统,怎么用流读取TXT文档在控制台显示相关的知识,希望对你有一定的参考价值。

写一个非常简单的图书管理系统,怎么实现读取图书的内容?用流怎么引入

参考技术A 像这种常用的IO流读取问题,一般都有人给你封装好了,你直接拿来用就行。 比如
apache的 common-io jar。使用举例:
File f = new File("d:\\data.txt");
System.out.println(FileUtils.readFileToString(f)); //读取成一个字符串
List<String> lines = FileUtils.readLines(f); //每行读取,把string封装到list列表里

怎么样很方便吧追问

我的意思是
怎么在另一个类里面读取流创建的TXT文档

追答

这不就是读取的代码么? 比如你创建的文档是 data.txt, 路径在d盘下,按照我上面的代码写不就能读取成字符串了? 你想要达到什么效果??

追问

你有QQ吗?方便我问吗?截图给你看,麻烦了

就是这个  有几个小说,我想实现就是点开小说的序列号 然后出现小说的介绍

追答

上班不方便QQ。你导入apache的common io jar,

在if(f2.exists)

    String str = FileUtils.readFileToString(f2);

    System.out.println(str);


-----------------不过话说你创建了一个文件,没往里面写任何数据啊,读出来为空~

追问

这个代码是放在那里的呢?不知道怎么放
文件我写了数据,还是在代码里面写数据,还是在TXT文档里面写?在代码里面怎么写?

追答

你要读取硬盘上某个txt文档,举例:
File f = new File("d:\\test");
String str = FileUtils.readFileToString(f); 就能读取字符串了

你要把字符串写入文件也很简单
FileUtils.writeStringToFile(f,"aaaa");
----------------读写的方法都已经告诉你了,你只要把我附件上贴的jar导入你的项目,就可以用了!至于具体在你的代码里哪里读、哪里写 那是你的事! 我已经说的够清楚了吧????

本回答被提问者和网友采纳
参考技术B

您好,提问者:
    下面是代码的套路。

import java.io.*;
public class FileDemo
    public static void main(String[] args)throws Exception
        File file = new File("D:\\\\xx.txt");
        if(!file.exists())
            throw new RuntimeException("文件不存在!");
        
        //使用缓冲,一行一行读取
        BufferedReader br = new BufferedReader(file);
        String line = "";
        while((line=br.readLine())!=null)
            System.out.println(line);//输出读取的行
        
    

追问

我知道怎么写流 我意思是怎么把流创建的TXT文档读取

Java递归读取文件路径下所有文件名称并保存为Txt文档

本文用递归的方法实现读取一个路径下面的所有文件并将文件名称保存到Txt文件中,亲测可用。

递归读取文件路径下的所有文件:

/**
     * 递归读取文件路径下的所有文件
     * 
     * @param path
     * @param fileNameList
     * @return
     */
    public static ArrayList<String> readFiles1(String path, ArrayList<String> fileNameList) {
        File file = new File(path);
        if (file.isDirectory()) {
            File[] files = file.listFiles();
            for (int i = 0; i < files.length; i++) {
                if (files[i].isDirectory()) {
                    readFiles1(files[i].getPath(), fileNameList);
                } else {
                    String path1 = files[i].getPath();
                    String fileName = path1.substring(path1.lastIndexOf("\") + 1);
                    fileNameList.add(fileName);
                }
            }
        } else {
            String path1 = file.getPath();
            String fileName = path1.substring(path1.lastIndexOf("\") + 1);
            fileNameList.add(fileName);
        }
        return fileNameList;
    }

将内容输出到(追加)txt文件保存:

/**
     * 将内容输出到(追加)txt文件保存
     * 
     * @param content
     * @throws IOException
     */
    public static void outputToTxt(String content, String outputPath) throws IOException {
        FileWriter fw = null;
        PrintWriter pw = null;
        fw = new FileWriter(outputPath, true);//追加内容
        pw = new PrintWriter(fw);
        pw.println(content + "
");
        pw.close();
        fw.close();
        pw.flush();
    }

测试:

进行测试,读取“E:图书图书馆小说杂文”下的所有文件,并将结果输出到
“C:UsersAdministratorDesktopfileNameList.txt”中。测试代码如下:

public static void main(String[] args) {
        String filePath = "E:\图书\图书馆\小说杂文";
        String outputPath1 = "C:\Users\Administrator\Desktop\fileNameList.txt";
        try {
            ArrayList<String> fileNameList = readFiles1(filePath, new ArrayList<String>());
            System.out.println(fileNameList.size());
            for (int i = 0; i < fileNameList.size(); i++) {
                outputToTxt(fileNameList.get(i), outputPath1);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

测试结果如下:

这是文件路径,路径下面有一个新建文件夹和若干个txt文件,共1086个对象,新建文件夹下面共有10个txt文件,计算可得此路径下面共有1086+10-1=1095个txt个文件:
技术分享图片
技术分享图片
这是运行的控制台打印信息,共有1095条打印信息:
技术分享图片
这是桌面的fileNameList.txt,一共有1095行:
技术分享图片








以上是关于JAVA 图书管理系统,怎么用流读取TXT文档在控制台显示的主要内容,如果未能解决你的问题,请参考以下文章

java swing 怎么同时读取多个txt文档,然后一对一的给对应的JTextArea

Java IO读取txt文件乱码。前提不知道文档是啥编码格式

Java 如何把数据保存到TXT文件,

Delphi 怎么读取txt文档

跪求java代码读取txt文档中的数据 并判断正负 正数返回1 负数返回0 写入另一个txt文档中

如何用c读取文件