java从文件中读取数据的六种方法

Java从文件中读取数据的六种方法

在Java应用程序中,从文件中读取数据是一个常见的操作。这篇文章将为大家介绍Java读取文件的六种方法,帮助大家学习如何读取文件数据。

方法1:使用 FileInputStream

FileInputStream fileInputStream = null;
try {
    File file = new File("file.txt");
    fileInputStream = new FileInputStream(file);
    int content;
    while ((content = fileInputStream.read()) != -1) {
        System.out.print((char) content);
    }
} catch (IOException e) {
    e.printStackTrace();
} finally {
    try {
        if (fileInputStream != null) {
            fileInputStream.close();
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

方法2:使用 BufferedReader 和 FileReader

BufferedReader bufferedReader = null;
try {
    File file = new File("file.txt");
    FileReader fileReader = new FileReader(file);
    bufferedReader = new BufferedReader(fileReader);
    String line;
    while ((line = bufferedReader.readLine()) != null) {
        System.out.println(line);
    }
} catch (IOException e) {
    e.printStackTrace();
} finally {
    try {
        if (bufferedReader != null) {
            bufferedReader.close();
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

方法3:使用 RandomAccessFile

RandomAccessFile randomAccessFile = null;
try {
    randomAccessFile = new RandomAccessFile("file.txt", "r");
    String line = null;
    while ((line = randomAccessFile.readLine()) != null) {
        System.out.println(line);
    }
} catch (IOException e) {
    e.printStackTrace();
} finally {
    try {
        if (randomAccessFile != null) {
            randomAccessFile.close();
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

方法4:使用 Scanner

Scanner scanner = null;
try {
    scanner = new Scanner(new File("file.txt"));
    while (scanner.hasNext()) {
        System.out.println(scanner.nextLine());
    }
} catch (FileNotFoundException e) {
    e.printStackTrace();
} finally {
    if (scanner != null) {
        scanner.close();
    }
}

方法5:使用 Files 类的 readAllBytes 方法

try {
    byte[] bytes = Files.readAllBytes(Paths.get("file.txt"));
    System.out.println(new String(bytes));
} catch (IOException e) {
    e.printStackTrace();
}

方法6:使用 Files 类的 readAllLines 方法

try {
    List<String> lines = Files.readAllLines(Paths.get("file.txt"));
    for (String line : lines) {
        System.out.println(line);
    }
} catch (IOException e) {
    e.printStackTrace();
}

以上就是Java从文件中读取数据的六种方法,我们可以根据需求选择方法进行文件读取。

下面是一个使用BufferedReader的示例:

public static void main(String[] args) {
    BufferedReader bufferedReader = null;
    try {
        File file = new File("file.txt");
        FileReader fileReader = new FileReader(file);
        bufferedReader = new BufferedReader(fileReader);
        String line;
        while ((line = bufferedReader.readLine()) != null) {
            System.out.println(line);
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            if (bufferedReader != null) {
                bufferedReader.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

下面是一个使用Scanner的示例:

public static void main(String[] args) {
    Scanner scanner = null;
    try {
        scanner = new Scanner(new File("file.txt"));
        while (scanner.hasNext()) {
            System.out.println(scanner.nextLine());
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } finally {
        if (scanner != null) {
            scanner.close();
        }
    }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java从文件中读取数据的六种方法 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Java的Struts框架报错“InvalidChainException”的原因与解决办法

    当使用Java的Struts框架时,可能会遇到“InvalidChainException”错误。这个错误通常由以下原因之一起: 链无效:如果链无效,则可能会出现此错误。在这种情况下,需要检查链以解决此问题。 链配置错误:如果链配置错误,则可能会出现此错误。在这种情况下,需要检查链配置以解决此问题。 以下是两个实例: 例 1 如果链无效,则可以尝试检查链以解…

    Java 2023年5月5日
    00
  • Java实现广度优先遍历的示例详解

    Java实现广度优先遍历的示例详解 什么是广度优先遍历 广度优先遍历(Breadth First Search, BFS)是一种图形的遍历算法,其遍历能力基于层次高效地访问相邻节点,并按顺序访问节点。这种方式即宽度优先,图形遍历的起点为根节点,相关的数据结构是队列。 广度优先遍历的应用 广度优先遍历算法在许多领域都有应用,比如: 寻找最短路径 二叉树搜索 网…

    Java 2023年5月19日
    00
  • 常见的Java字节码操纵库有哪些?

    常见的Java字节码操纵库 Java字节码操纵库是指一些工具类库,用于在运行时动态修改Java字节码。常见的Java字节码操纵库有以下几种: ASM:是一个直接以Java字节码的形式生成、修改类的框架。它提供了一些比较底层的API,可以让开发者精细地控制字节码的生成和修改过程。 Javassist:是一个基于字节码操作的程序库,可以在运行时对字节码进行修改、…

    Java 2023年5月11日
    00
  • 这可能是最全面的MySQL面试八股文了

    什么是MySQL MySQL是一个关系型数据库,它采用表的形式来存储数据。你可以理解成是Excel表格,既然是表的形式存储数据,就有表结构(行和列)。行代表每一行数据,列代表该行中的每个值。列上的值是有数据类型的,比如:整数、字符串、日期等等。 数据库的三大范式 第一范式1NF 确保数据库表字段的原子性。最全面的Java面试网站 比如字段 userInfo:…

    Java 2023年4月25日
    00
  • 深入了解Java中的static关键字

    深入了解Java中的static关键字 在Java中,static是一个用于修饰变量、方法和内部类等的关键字。它表示这些成员属于类本身,而不是类的实例,因此,我们可以直接通过类名来调用这些成员,无需先实例化对象。 static变量 在Java中,静态变量是共享的、存储在堆区的变量。即,无论创建多少实例对象,它们都只有一个拷贝。我们可以通过类名加点的形式进行直…

    Java 2023年5月26日
    00
  • Vue之前端体系与前后端分离详解

    Vue之前端体系与前后端分离详解 什么是前后端分离? 前后端分离是一个架构模式,将Web应用程序的整体解耦成逻辑上独立的前端和后端两部分。在前后端分离的架构模式下,前端负责呈现页面/表现层,后端负责处理业务逻辑/数据层。 前后端分离的好处: 前后端团队分工明确,互不干扰 明确的API接口文档,方便开发和测试 前后端分别使用合适的技术栈,方便维护和升级 Vue…

    Java 2023年5月23日
    00
  • Python 实现一个颜色色值转换的小工具

    下面是详细的攻略: 1. 所需工具和材料 Python编程环境,比如Anaconda、PyCharm等 colorsys模块(Python标准库中已经包含) 学习Python基础知识 2. 实现思路 使用colorsys模块可以将RGB颜色值转换为HSV和HSL颜色值。具体实现思路如下: 接收输入的RGB颜色值,并将它们转换为0到1之间的数值。 使用colo…

    Java 2023年5月26日
    00
  • win7系统打开java的控制面板的方法

    要在Win7系统上打开Java控制面板,可按照以下步骤进行操作: 方法一:使用Windows搜索功能打开Java控制面板 点击Windows系统右下角的“开始”按钮; 在开始菜单中,点击“搜索程序和文件”栏目输入“Java”; 在搜索结果中,找到并点击“Java”选项; 在弹出的Java应用程序窗口中,点击“Java 控制面板”按钮。 示例一: 步骤1:在窗…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部