精华内容
下载资源
问答
  • java 读取文件文本内容There are many ways to read a text file in java. Let’s look at java read text file different methods one by one. 有许多方法可以读取Java中的文本文件。 让我们一一看一下Java读取文本...

    java 读取文件文本内容

    There are many ways to read a text file in java. Let’s look at java read text file different methods one by one.

    有许多方法可以读取Java中的文本文件。 让我们一一看一下Java读取文本文件的不同方法。

    Java读取文本文件 (Java read text file)

    There are many ways to read a text file in java. A text file is made of characters, so we can use Reader classes. There are some utility classes too to read a text file in java.

    有许多方法可以读取Java中的文本文件。 文本文件由字符组成,因此我们可以使用Reader类。 也有一些实用程序类可以读取Java中的文本文件。

    1. Java read text file using Files class

      Java使用Files类读取文本文件
    2. Read text file in java using FileReader

      使用FileReader读取Java中的文本文件
    3. Java read text file using BufferedReader

      Java使用BufferedReader读取文本文件
    4. Using Scanner class to read text file in java

      使用Scanner类读取Java中的文本文件

    Now let’s look at examples showing how to read a text file in java using these classes.

    现在,让我们看一些示例,这些示例说明如何使用这些类在Java中读取文本文件。

    Java使用java.nio.file.Files读取文本文件 (Java read text file using java.nio.file.Files)

    We can use Files class to read all the contents of a file into a byte array. Files class also has a method to read all lines to a list of string. Files class is introduced in Java 7 and it’s good if you want to load all the file contents. You should use this method only when you are working on small files and you need all the file contents in memory.

    我们可以使用Files类将文件的所有内容读入字节数组。 Files类还具有一种读取所有行到字符串列表的方法。 Files类是Java 7中引入的,如果要加载所有文件内容,则很好。 仅在处理小型文件并且需要所有文件内容在内存中时,才应使用此方法。

    String fileName = "/Users/pankaj/source.txt";
    Path path = Paths.get(fileName);
    byte[] bytes = Files.readAllBytes(path);
    List<String> allLines = Files.readAllLines(path, StandardCharsets.UTF_8);

    使用java.io.FileReader在Java中读取文本文件 (Read text file in java using java.io.FileReader)

    You can use FileReader to get the BufferedReader and then read files line by line. FileReader doesn’t support encoding and works with the system default encoding, so it’s not a very efficient way of reading a text file in java.

    您可以使用FileReader获取BufferedReader,然后逐行读取文件。 FileReader不支持编码,并且与系统默认编码一起使用,因此,这不是在Java中读取文本文件的非常有效的方法。

    String fileName = "/Users/pankaj/source.txt";
    File file = new File(fileName);
    FileReader fr = new FileReader(file);
    BufferedReader br = new BufferedReader(fr);
    String line;
    while((line = br.readLine()) != null){
        //process the line
        System.out.println(line);
    }

    Java使用java.io.BufferedReader读取文本文件 (Java read text file using java.io.BufferedReader)

    BufferedReader is good if you want to read file line by line and process on them. It’s good for processing the large file and it supports encoding also.

    如果要逐行读取文件并对其进行处理,则BufferedReader很好。 这对于处理大文件非常有用,并且还支持编码。

    BufferedReader is synchronized, so read operations on a BufferedReader can safely be done from multiple threads. BufferedReader default buffer size is 8KB.

    BufferedReader是同步的,因此可以安全地从多个线程完成对BufferedReader的读取操作。 BufferedReader的默认缓冲区大小为8KB。

    String fileName = "/Users/pankaj/source.txt";
    File file = new File(fileName);
    FileInputStream fis = new FileInputStream(file);
    InputStreamReader isr = new InputStreamReader(fis, cs);
    BufferedReader br = new BufferedReader(isr);
    
    String line;
    while((line = br.readLine()) != null){
         //process the line
         System.out.println(line);
    }
    br.close();

    使用扫描仪读取Java中的文本文件 (Using scanner to read text file in java)

    If you want to read file line by line or based on some java regular expression, Scanner is the class to use.

    如果要逐行或基于某些Java正则表达式读取文件,则使用Scanner类。

    Scanner breaks its input into tokens using a delimiter pattern, which by default matches whitespace. The resulting tokens may then be converted into values of different types using the various next methods. The scanner class is not synchronized and hence not thread safe.

    扫描程序使用定界符模式将其输入分为令牌,默认情况下,该模式与空格匹配。 然后,可以使用各种下一种方法将生成的令牌转换为不同类型的值。 扫描器类未同步,因此不是线程安全的。

    Path path = Paths.get(fileName);
    Scanner scanner = new Scanner(path);
    System.out.println("Read text file using Scanner");
    //read line by line
    while(scanner.hasNextLine()){
        //process each line
        String line = scanner.nextLine();
        System.out.println(line);
    }
    scanner.close();

    Java读取文件示例 (Java Read File Example)

    Here is the example class showing how to read a text file in java. The example methods are using Scanner, Files, BufferedReader with Encoding support and FileReader.

    这是显示如何在Java中读取文本文件的示例类。 示例方法使用的是Scanner,Files,具有编码支持的BufferedReader和FileReader。

    package com.journaldev.files;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.nio.charset.Charset;
    import java.nio.charset.StandardCharsets;
    import java.nio.file.Files;
    import java.nio.file.Path;
    import java.nio.file.Paths;
    import java.util.List;
    import java.util.Scanner;
    
    public class JavaReadFile {
    
        public static void main(String[] args) throws IOException {
            String fileName = "/Users/pankaj/source.txt";
            
            //using Java 7 Files class to process small files, get complete file data
            readUsingFiles(fileName);
            
            //using Scanner class for large files, to read line by line
            readUsingScanner(fileName);
            
            //read using BufferedReader, to read line by line
            readUsingBufferedReader(fileName);
            readUsingBufferedReaderJava7(fileName, StandardCharsets.UTF_8);
            readUsingBufferedReader(fileName, StandardCharsets.UTF_8);
            
            //read using FileReader, no encoding support, not efficient
            readUsingFileReader(fileName);
        }
    
        private static void readUsingFileReader(String fileName) throws IOException {
            File file = new File(fileName);
            FileReader fr = new FileReader(file);
            BufferedReader br = new BufferedReader(fr);
            String line;
            System.out.println("Reading text file using FileReader");
            while((line = br.readLine()) != null){
                //process the line
                System.out.println(line);
            }
            br.close();
            fr.close();
            
        }
    
        private static void readUsingBufferedReader(String fileName, Charset cs) throws IOException {
            File file = new File(fileName);
            FileInputStream fis = new FileInputStream(file);
            InputStreamReader isr = new InputStreamReader(fis, cs);
            BufferedReader br = new BufferedReader(isr);
            String line;
            System.out.println("Read text file using InputStreamReader");
            while((line = br.readLine()) != null){
                //process the line
                System.out.println(line);
            }
            br.close();
            
        }
    
        private static void readUsingBufferedReaderJava7(String fileName, Charset cs) throws IOException {
            Path path = Paths.get(fileName);
            BufferedReader br = Files.newBufferedReader(path, cs);
            String line;
            System.out.println("Read text file using BufferedReader Java 7 improvement");
            while((line = br.readLine()) != null){
                //process the line
                System.out.println(line);
            }
            br.close();
        }
    
        private static void readUsingBufferedReader(String fileName) throws IOException {
            File file = new File(fileName);
            FileReader fr = new FileReader(file);
            BufferedReader br = new BufferedReader(fr);
            String line;
            System.out.println("Read text file using BufferedReader");
            while((line = br.readLine()) != null){
                //process the line
                System.out.println(line);
            }
            //close resources
            br.close();
            fr.close();
        }
    
        private static void readUsingScanner(String fileName) throws IOException {
            Path path = Paths.get(fileName);
            Scanner scanner = new Scanner(path);
            System.out.println("Read text file using Scanner");
            //read line by line
            while(scanner.hasNextLine()){
                //process each line
                String line = scanner.nextLine();
                System.out.println(line);
            }
            scanner.close();
        }
    
        private static void readUsingFiles(String fileName) throws IOException {
            Path path = Paths.get(fileName);
            //read file to byte array
            byte[] bytes = Files.readAllBytes(path);
            System.out.println("Read text file using Files class");
            //read file to String list
            @SuppressWarnings("unused")
    		List<String> allLines = Files.readAllLines(path, StandardCharsets.UTF_8);
            System.out.println(new String(bytes));
        }
    
    }

    The choice of using a Scanner or BufferedReader or Files to read file depends on your project requirements. For example, if you are just logging the file, you can use Files and BufferedReader. If you are looking to parse the file based on a delimiter, you should use Scanner class.

    使用Scanner或BufferedReader或Files读取文件的选择取决于您的项目要求。 例如,如果您仅记录文件,则可以使用“文件”和“ BufferedReader”。 如果要基于定界符解析文件,则应使用Scanner类。

    Before I end this tutorial, I want to mention about RandomAccessFile. We can use this to read text file in java.

    在结束本教程之前,我想谈谈RandomAccessFile 。 我们可以使用它来读取Java中的文本文件。

    RandomAccessFile file = new RandomAccessFile("/Users/pankaj/Downloads/myfile.txt", "r");
    String str;
    
    while ((str = file.readLine()) != null) {
    	System.out.println(str);
    }
    file.close();

    That’s all for java read text file example programs.

    Java读取文本文件示例程序就这些了。

    翻译自: https://www.journaldev.com/867/java-read-text-file

    java 读取文件文本内容

    展开全文
  • import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; i
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.HashMap;
    import java.util.LinkedHashMap;
    import java.util.Map;
    import java.util.Map.Entry;
    
    
    public class IO {
    	public static void main(String []args){
    		try {
    			IO.readArray("F://list_2.txt");
    		} catch (Exception e) {
    		}
    	}
    	
    	/**
    	 * 通过自定义缓存区类读取与写入文件
    	 * 
    	 * @param fileFrom 写入路径
    	 * 
    	 * @exception IOException I/O异常
    	 * 
    	 * */
    	public static void readArray(String fileFrom) throws IOException{
    		try{
    			Long startTime = System.currentTimeMillis();
    			BufferedReader br = new BufferedReader(new FileReader(fileFrom));
    			Map<String, Integer> map = new HashMap<String, Integer>();
    			// 验证读取的数据不为null 保存
    			String str ;
    			// 读取文件
    			while((str = br.readLine()) != null){
    				if(map.containsKey(str)){
    					map.put(str, map.get(str).intValue()+1);
    				}else{
    					map.put(str, 1);
    				}
    			}
    			// 读取出来的map排序
    			map = sortMap(map);
    			// 输出排序后的Map
    			for (String key:map.keySet()) {
    				System.out.println(key+"---"+map.get(key));
    			}
    			Long endTime = System.currentTimeMillis();
    			System.out.println("需要的时间:"+ (endTime-startTime));
    		}catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    	
    	// 按照map的value排序
    	public static Map sortMap(Map oldMap) {  
    		// 拿取map的key集合
            ArrayList<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(oldMap.entrySet());  
            // 使用list集合的sort排序
            Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {  
                @Override  
                public int compare(Entry<java.lang.String, Integer> arg0,  
                        Entry<java.lang.String, Integer> arg1) {  
                    return arg0.getValue() - arg1.getValue();  
                }  
            });  
            // 定义返回的map
            Map newMap = new LinkedHashMap();  
            for (int i = 0; i < list.size(); i++) {  
            	// 设置newmap的值
                newMap.put(list.get(i).getKey(), list.get(i).getValue());  
            }  
            return newMap;  
        }  
    }

    展开全文
  • * 从本地CSV文件获得目标日期 * @param url * @param orderIndex * @return */ public static String getDateFromLocalCSV(String url , int orderIndex) { //缓存读取流 BufferedReader csvReader = null; ...
     /**
         * 从本地CSV文件获得目标日期
         * @param url
         * @param orderIndex
         * @return
         */
        public static String getDateFromLocalCSV(String url , int orderIndex) {
            //缓存读取流
            BufferedReader csvReader = null;
            try {
                csvReader = new BufferedReader(new FileReader(url));
                //当前行初始化
                String line = null;
                //当前索引
                int index = 0;
                while ((line=csvReader.readLine()) != null){
                    String [] item = line.split(",");
                    if (index == orderIndex  && index != 0){
                        String orderStr = item[1];
    
                        return orderStr;
                    }
                    index++;
                }
                return null;
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }finally {
                try {
                    csvReader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return null;
        }
    
        public static void main(String[] args) {
            String url = "/home/lidengyin/Downloads/code/soft-cup/4565.csv";
            String orderStr = getDateFromLocalCSV(url, 5);
            System.out.println("orderStr: "+orderStr);
        }
    
    展开全文
  • Java读取ini文件

    千次阅读 2018-12-18 11:23:42
    IniFile iniFile=new BasicIniFile(); File f = new File(""); String cf = null; cf = f.getCanonicalPath(); File file=new File(cf+"\\config.ini");...ini文件内有中文,read()方法会报错
                    IniFile iniFile=new BasicIniFile();
    		File f = new File("");
    		String cf = null;
    		cf = f.getCanonicalPath();
    		File file=new File(cf+"\\config.ini");
    		IniFileReader rad=new IniFileReader(iniFile, file);
    		//IniFileWriter wir=new IniFileWriter(iniFile, file);
    		try {
    			//读取item
    			rad.read();
    			IniSection iniSection=iniFile.getSection(0);
    			IniItem iniItem=iniSection.getItem("IP");
    			ip=iniItem.getValue();
    			iniItem = iniSection.getItem("Database");
    			database=iniItem.getValue();
    			iniItem = iniSection.getItem("UID");
    			usr=iniItem.getValue();
    			iniItem = iniSection.getItem("PWD");
    			passwd=iniItem.getValue();
              } catch (IOException e) {}
    

    注意:ini文件内有中文,read()方法会报错

    展开全文
  • java读取文件

    千次阅读 2013-03-14 16:46:22
     文件(File)是 最常见的数据源之一,在程序中经常需要将数据存储到文件中,例如图片文件、声音文件等数据文件,也经常需要根据需要从指定的文件中进行数据的读取。当然, 在实际使用时,文件都包含一个的格式,这...
  • 多种方式实现java读取文件

    千次阅读 2018-03-18 16:11:13
    多种方式实现java读取文件 本文介绍java多种方式从classpath、url以及jar中读取文件。 准备 我们仅使用java类实现一组测试示例,在测试类中,我们使用Hamcrest工具进行匹配验证。 测试类共享使用...
  • java读取properties属性文件值方法

    千次阅读 2010-05-05 10:30:00
    在使用hibernate或者spring的时候,我们往往...要如何实现通过读取文件配置获取属性呢?方式一:ResourceBundle这个类可是实现读取properties文件来获取java中: public class ResourceBundleReader { public
  • 求助JAVA中如何读取TXT文件数据并计算。读取TXT中的数据,要支持读取多个数据,且要计算出,计算公式附下。 最后在另一个文本中按最后一个数据(英文字母)进行分类,并把计算的显示出来。。附加:支持读取一下...
  • Java读取xml文件字段

    千次阅读 2017-12-11 14:12:26
    需求:读取用户发送的xml文件,得到"BBZ001"节点的。格式如下: xxx xxx 解决:引入“org.w3c.dom.Document”包通过document类得到xml的节点 //1、创建一个DocumentBuilderFactory的对象 ...
  • Java 从配置文件读取属性

    千次阅读 2015-12-28 10:38:49
    Java 从配置文件读取属性
  • Java读取Excel文件

    万次阅读 多人点赞 2018-12-05 18:01:14
    简介:总结Java读取Excel文件 添加maven依赖 &lt;dependency&gt; &lt;groupId&gt;org.apache.poi&lt;/groupId&gt; &lt;artifactId&gt;poi-ooxml&lt;/artifactId&gt; &...
  • 第一步 设置属性属性文件   、   第二步 获取属性文件   ps:注意获取对应的参数或文件名称
  • 将test.properties的文件读取赋值给静态变量 创建一个final类 可以两种方式读取test.properties配置文件 第一种:此方法可以写配置文件的绝对路径 InputStream is = new BufferedInputStream(new ...
  • java读取excel文件

    万次阅读 2017-04-12 10:56:24
    java读取excel文件
  • Properties properties = new Properties(); //装载配置文件中的qq信息 try { properties.load(FindFailure.class.getClassLoader().getResourceAsStream("mailRecipient.properties"));...
  • Java读取Yaml文件

    万次阅读 2019-09-04 17:19:37
    (2)另一种方式脱离Spring容器,采用流的方式读取yaml文件,并生成java对象 每种方式都有其应用的场景。我根据(2)的方式简单写了一个读取Yaml的配置类,通过key的方式获取。 例如:application.yml a: ...
  • Java 读取dbf文件

    千次阅读 2016-12-01 20:01:04
    Java读取dbf文件
  • 使用java读取文件并输出

    千次阅读 2019-07-19 16:28:48
    通过Reader读取文件中的内容: 下面是文件: test.txt: 1、看着街上的人群,各个都把自己捂得严严实实的,好似一个个奇怪的布包裹。窗外的天,是灰蒙蒙的一片,灰色的霾把所有的物体都笼罩了起来。 2、它来时,真的...
  • Java 读取 Properties 文件 获取参数

    千次阅读 2014-04-02 06:51:54
    package com.wonders.schedule.util; import java.io.InputStream; import java.util.Properties; public class PropertyUtil { private static Properties p = null; public synchronized static void initP
  • java读取文件:二进制文件

    千次阅读 2017-11-15 17:15:02
    其中的int read()方法读取一个字节,这个字节以整数形式返回0到255之间的一个。为什么读一个字节,而不直接返回一个byte类型的?因为byte类型最高位是符号位,它所能表示的最大的正整数是127。 Inpu
  • JAVA 读取属性文件方式

    千次阅读 2017-11-19 21:53:33
    JAVA 读取属性文件方式
  • java代码读取配置文件中属性

    千次阅读 2018-12-18 09:39:39
    在项目开发中,经常会把一些可能变化的量配置在.properties文件中,这样当需要修改时只需修改配置文件中的即可,不用修改java代码,便于后期维护,那么问题来了怎样在java代码中读取配置文件中的属性呢?下面给出解决...
  • Java读取properties文件

    千次阅读 2015-01-31 18:09:43
    1.jsp页面展示代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> ... User user=(User)request.getAttribute("user");...读取property文件 读取proper
  • // 直接从本地文件创建Workbook InputStream instream = new FileInputStream( "F:/tomcat7/webapps/Excel/upload/1.xls"); readwb = Workbook.getWorkbook(instream); // Sheet的下标是从0开始...
  • java读取yml也就是yaml属性文件中的

    千次阅读 2019-06-21 16:26:45
    百度上最多的就是先拿到属性文件路径,接着再获取它的输入流然后进行读取,我这里稍微改了下,直接读到流文件,然后取值 public static void main(String[] args) { try { Yaml yaml = new Yaml();// 这个需要的jar...
  • java程序中读取配置文件中的

    万次阅读 2017-09-13 10:35:33
    将某些参数写入配置文件 ,在Java程序中读取参数方法: (1):配置文件 (2):配置文件中的 (3):使用方法读取配置文件中的使用 (4):读取配置文件参数的方法 (5):读取配置文件参数方法的代码/...
  • java读取properties文件内容

    千次阅读 2018-05-26 08:12:10
    java读取properties文件内容 1.原生java读取properties文件的内容 //1.创建文件读取流对象 //未解决问题:maven工程中读取resources目录下的配置文件的地址 FileReader reader = new FileReader("F:...
  • private static Properties props; static{ try { props = new Properties();...//根据配置文件中的key获取value public static String get(String key){ return props.getProperty(key, null); }

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 459,284
精华内容 183,713
关键字:

java读取文件里的值

java 订阅