精华内容
下载资源
问答
  • Java实现读取文件指定行

    千次阅读 2018-10-08 19:19:08
    Java实现读取文件指定行  https://blog.csdn.net/dream_javaworld/article/details/3682097
    展开全文
  • Java 实现读取文件指定行

    千次阅读 2016-07-04 17:40:44
    import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import jav
    import java.io.BufferedReader;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.UnsupportedEncodingException;
    import java.util.ArrayList;
    import java.util.List;

    /**
     * 
    * @Title: ReaderFileLine.java 
    * @Package com.io 
    * @Description: 读取文件的指定行
    * @author zxt   
    * @date 2011-12-1 上午09:32:37 
    * @version V1.0
     */
    public class ReaderFileLine {


     /**
      * 
     * @Title: getTxtContent 
     * @Description: 将文本读取到List中并返回  
     * @param @param path - 文件路径
     * @param @return    
     * @return List<String> - 返回读取文件行的集合
     * @throws
      */
     public static List<String> getFileContent(String path) {
    List<String> strList = new ArrayList<String>();
     try {
      File file = new File(path);
      InputStreamReader read = new InputStreamReader(new FileInputStream(file), "UTF-8");
      BufferedReader reader = new BufferedReader(read);
      String line;
      while((line = reader.readLine()) != null) {
      strList.add(line);
      }
     } catch (UnsupportedEncodingException e) {
     e.printStackTrace();
     } catch (FileNotFoundException e) {
     e.printStackTrace();
     } catch (IOException e) {
     e.printStackTrace();
     }
     return strList;
     }


     /**
      * 
     * @Title: listFileByRow 
     * @Description: 获取指定行的值  
     * @param @param path - 文件路径
     * @param @param row - 指定行   
     * @return String - 返回指定行的数据,没有指定行时数据返回空字符串
     * @throws
      */
     public static String listFileByRow(String path, Integer row) {
     List<String> strList = getFileContent(path);
     int size = strList.size();
     if(size >= (row - 1)) 
     return strList.get(row - 1);
     else
     return ""; 
     }

     public static List<String> listFileByRegionRow(String path, Integer startLine, Integer endLine) {
     List<String> strList = getFileContent(path);
     //指定区间的值存到regionList 
     List<String> regionList = new ArrayList<String>();  
     int size = strList.size();
     if(size >= (endLine - 1)) {
      for (int i=startLine; i<=endLine; i++)
     regionList.add(strList.get(i-1));
     } 
     return regionList;
     }

     public static void main(String[] args) {


    int startLine = 17, endLine = 53;
    System.out.println("第" + startLine + "行:" + listFileByRow("D:\\f5-log\\access.log", startLine));
            
            List<String> regionList = listFileByRegionRow("D:\\f5-log\\access.log", startLine, endLine);
            if(!regionList.isEmpty()) {
            for(String strLine : regionList) {
            System.out.println("第" + startLine + "行:" + strLine);
            startLine ++;
            }
            }
     }


    }
    展开全文
  • 主要介绍了Java RandomAccessFile 指定位置实现文件读取与写入的相关资料,需要的朋友可以参考下
  • Java如何实现指定行读取文件

    千次阅读 2014-07-26 15:04:38
     把log4j生成的日志文件定时刷进MySQL数据库,比如三个小时刷一次,那么每次刷数据的时候,如何控制文件读取是从上一次文件读取结束的地方开始继续读取的?并且本次要读取到文件结尾处。在网上各种搜索提问后,找到...

        最近在开发实战中,遇到了一个这样的技术情景:

        把log4j生成的日志文件定时刷进MySQL数据库,比如三个小时刷一次,那么每次刷数据的时候,如何控制文件读取是从上一次文件读取结束的地方开始继续读取的?并且本次要读取到文件结尾处。在网上各种搜索提问后,找到了一个叫RandomAccessFile Java类解决了问题。

        先上代码:

    
    	static int size=1;//主要是为了控制循环的次数,因为是定时刷,每次刷的文件行数可能不一样
    	static long chars=0;//chars指的是字符数
    	/**
    	 * 读取文件内容
    	 * @param fileName
    	 */
    	  public Map readANDwrite(String fileName) {
    	    	
    	    	//大集合,以sessionid为键,以一次session的所有访问记录list为值进行存储
    	    	Map<String,Map> bigMap = new HashMap();
    	    	
    	    	//一次session的访问记录集合
    	        File file = new File(fileName);
    	        
    	        //java提供的一个可以分页读取文件的类,此类的实例支持对随机访问文件的读取和写入
    	        RandomAccessFile rf = null;
    	        
    	        String tempString = null;
    	        try {
    	            
    	                //初始化RandomAccessFile,参数一个为文件路径,一个为权限设置,这点与Linux类似,r为读,w为写
    	    		rf = new RandomAccessFile(fileName, "rw");
    	    		
    	    		//设置到此文件开头测量到的文件指针偏移量,在该位置发生下一个读取或写入操作
    	    		rf.seek(chars);
    	    		
    	    		//获取文件的行数
    	    		int fileSize = getTotalLines(file);
    	    	        for (int i = size-1; i < fileSize; i++) {//从上一次读取结束时的文件行数到本次读取文件时的总行数中间的这个差数就是循环次数
    	    			
    	    			//一行一行读取
    	    			tempString = rf.readLine();
    	    			//文件中文乱码处理
    	    			tempString = tempString.replaceAll("%(?![0-9a-fA-F]{2})", "%25");
    	    			tempString = tempString.replaceAll("\\+", "%2B");
    	    			tempString = java.net.URLDecoder.decode(tempString, "GB2312");
    	    		
    	    			//将字符串JSON转换为实体JSON,以便能通过key取value
    	    			JSONObject json = JSONObject.fromObject(tempString);
    					String refPage = json.get("refPage").toString();
    					System.out.println(refPage);
    					Map tmap = new HashMap();
    
    					if (bigMap.containsKey(refPage))
    						tmap = (Map) bigMap.get(refPage);
    					else {
    						tmap = new HashMap();
    					}
    					// 计数
    					String tCount = "count";
    					int pvCount = 1;
    					if (tmap.containsKey(tCount)) {
    						pvCount = (Integer) tmap.get(tCount);
    					}
    					pvCount++;
    					tmap.put(tCount, pvCount);
    					bigMap.put(refPage, tmap);
    	    		}
    	    		//返回此文件中的当前偏移量。 
    	    		chars = rf.getFilePointer();
    	    		size=fileSize;
    			} catch (IOException e) {
    				e.printStackTrace();
    			}catch(JSONException j){
    				
    			} finally {
    				if (rf != null) {
    					try {
    						rf.close();
    					} catch (IOException e1) {
    					}
    				}
    			}
    	        return bigMap;
    	    }
    	  //获取文件的行数
    	  static int getTotalLines(File file) throws IOException {
    	        FileReader in = new FileReader(file);
    	        LineNumberReader reader = new LineNumberReader(in);
    	        String s = reader.readLine();
    	        int lines = 0;
    	        while (s != null) {
    	            lines++;
    	            s = reader.readLine();
    	        }
    	        reader.close();
    	        in.close();
    	        return lines;
    	    }
        

    
    展开全文
  • 主要介绍了Java实现从jar包中读取指定文件的方法,涉及java针对jar文件读取及查找相关操作技巧,需要的朋友可以参考下
  • java实现读取指定文件内容

    千次阅读 2015-05-15 09:10:32
    关于读取指定文件内容,使用mvc在页面进行展示内容的一段代码

    以下为一段读取指定文本文件代码,用于读取服务器日志文件

    public String index() {

            String s = "E:/apache-tomcat-7.0.5/logs/testlog.log";
            try {
                String encoding = "GBK";
                File file = new File(s);
                if (file.isFile() && file.exists()) { // 判断文件是否存在
                    InputStreamReader read = new InputStreamReader(
                            new FileInputStream(file), encoding);// 考虑到编码格式
                    BufferedReader bufferedReader = new BufferedReader(read);
                    String lineTxt = null;
                    StringBuffer stest=new StringBuffer();
                    while ((lineTxt = bufferedReader.readLine()) != null) {
                        System.out.println(lineTxt);
                        stest.append(lineTxt+"</br>");
                    }
                    read.close();
                    model.addAttribute("test", stest.toString());
                } else {
                    System.out.println("找不到指定的文件");
                }
            } catch (Exception e) {
                System.out.println("读取文件内容出错");
                e.printStackTrace();
            }
            return null;
        }
    展开全文
  • Java文件读取 删除指定

    千次阅读 2020-06-03 15:27:52
    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io....
  • import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.util.*; import java.util.Map.Entry; import o...
  • java 读取文件指定行的内容

    千次阅读 2011-09-18 23:16:28
    /**   * 读取文件指定行。   */ public class ReadSelectedLine { // 读取文件指定行。   static void readAppointedLineNumber(File sourceFile, int lin
  • 使用 java nio 实现行读写文件

    千次阅读 2018-03-18 18:41:21
    最近在了解 java nio 相关的一些知识,在网上看到了一篇通过 java nio 来按行读取文件的博客,于是为了练手就自己实现了下,关于 java nio 的基础知识这里就不多说了,具体代码实现如下: import java.io....
  • java文件读写操作指定编码格式

    千次阅读 2017-09-08 15:43:35
    java文件读写操作指定编码格式 读文件: BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和的高效读取。 可以指定缓冲区的大小,或者可使用默认的大小。大多数情况...
  • JAVA简单读取 指定文件里面的指定内容
  • Java 实现替换文件指定内容

    千次阅读 2019-08-05 09:51:43
    //import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /** * @title 文件替换 * @date 2019年6月21日 ...
  • 在利用LineNumberReader读取文件指定行的时候,遇到了一个很有意思的问题,该问题极易忽略,而且极易犯错,先看代码: // 文件内容的总行数 static int getTotalLines(File file) throws IOException { ...
  • java中用FileUtil实现文件读写
  • Java读取文件指定编码

    千次阅读 2018-11-19 16:17:49
    java读取txt文件如果不指定编码,那么读出来的数据可能就是一串乱码。 解决方案 String content=null; BufferedReader bufferedReader= new BufferedReader( new InputStreamReader( new FileI...
  • 不知大家是否曾遇到这样的需求,要从存储大量特定数据的文本文件中获取自己需要的特定内容或数据,文件中数据量十分庞大,如果采用手动的方式去筛选,工作量就会很大。此时,对于我们程序员来说就可以通过编写一个...
  • Java指定行开始读取文件内容 从指定行开始读取文件 /** * 从指定行开始读文件 * @param txtPath 文件路径 * @param lineNum 行号 * @throws IOException */ public static void readLineByNum(String ...
  • Java循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.doc...
  • Java读取CSV文件指定行的值

    万次阅读 2010-01-27 22:35:00
     * 读取指定内容   * @param path   * @param row   * @return   */   public String listTxtByRow1(String path,Integer row)   {   String[] s = getTxtContent(path);   return "第"+row+...
  • 下载文件指定目录 /** * 下载文件指定目录 * @param dowUrl:http地址 * @param dowPath:指定目录 * */ public static String download(String dowUrl, String dowPath){ try { log.info("下载地址是...
  • Java读取文件最后n

    千次阅读 2019-07-29 11:43:07
    Java读取文件最后几行 项目里需要读取最新的日志,可是最新的日志都在文件的最后几行,所以有了这个需求。 百度之后先研究了别人的代码,感觉一是逻辑不太好理解,二是代码偏向于测试,没有办法哪来就用。 所以自己...
  • java语言读取文本文件指定行

    万次阅读 2010-03-22 11:15:00
    代码如下:import java.io.*;public class hh { /** * @param args */ public static void main(String[] args) { // 指定读取的行号 int lineNumber = 2; // 读取文件 //File
  • java实现读写服务器文件

    万次阅读 2018-10-17 13:06:33
    这个主要实现Java远程访问服务器的读写文件操作,自动登录读写文件 pom.xml中要配置 <dependency> <groupId>ch.ethz.ganymed</groupId> <artifactId>ganymed-ssh2</artifactId&...
  • Java实现指定目录下的文件查找

    万次阅读 2020-11-27 18:35:02
    Java实现指定目录下的文件查找 入门Java实现文件的查找功能较为简单,主要有以下两种: 1.给出文件名,查找目录及其子目录中是否存在 2.给出后缀名,查找目录及其子目录中相关的文件 题型一: 题目:在指定目录下...
  • 主要介绍了java读取excel文件并复制文件指定目录示例,需要的朋友可以参考下
  • 主要为大家详细介绍了Java自动读取指定文件夹下所有文件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • java读取文件最后N

    千次阅读 2015-01-28 09:57:26
    java读取文件最后N 源代码下载地址:http://www.zuidaima.com/share/1550463669226496.htm

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 502,026
精华内容 200,810
关键字:

java实现文件读取指定行

java 订阅