奥门巴黎人手机网址【app】

科技世界动用jsp读取TXT格式文件,jsp读取txt格式

2019-10-09 09:37·澳门巴黎人开户

应用jsp读取TXT格式文件,jsp读取txt格式

  1. <%@page import="java.io.BufferedReader"%>  
  2. <%@page import="java.io.FileReader"%>  
  3. <%@page import="java.io.File"%>  
  4. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>  
  5. <%  
  6.     //String path = request.getContextPath();  
  7.     //System.out.println("path=="+path);  
  8.     //String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";  
  9. %>  
  10. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ";  
  11. <html>  
  12. <head>  
  13. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  14. <title>实例9:使用jsp读取TXT格式文件</title>  
  15. </head>  
  16. <body>  
  17. <%  
  18.         //String filePath = request.getSession().getServletContext().getRealPath("/")+"JSP_Ajax"+"\\";  
  19.         //System.out.println("filePath=="+filePath);  
  20.         String path ="C:\\";   // 那边文件目录需改成相对路线  
  21.         File file = new File(path,"jsp.txt");  
  22.         FileReader fr = new FileReader(file);  //字符输入流  
  23.         BufferedReader br = new BufferedReader(fr);  //使文件可按行读取并兼有缓冲成效  
  24.         StringBuffer strB = new StringBuffer();   //strB用来囤积jsp.txt文件里的原委  
  25.         String str = br.readLine();  
  26.         while(str!=null){  
  27.             strB.append(str).append("<br>");   //将读取的内容放入strB  
  28. str = br.readLine();  
  29.         }  
  30.         br.close();    //关闭输入流  
  31.     %>  
  32. <center>  
  33. <%=strB %>  
  34. </center>  
  35. </body>  
  36. </html>  

 

在这边File对象必需用相对路线,”C:\\“   .别的,目录分隔符不能用”\“,必须用"\\'.

 

工夫:文本文件行的小憩符为('\n')或('\r'),可是浏览器却不显明这几个行的终止符。因而,为了让读取的文本内容在浏览器里显示换行,就不能够不在读取每一行的时候再后面加上HTML标签<br>

%@page import= "java.io.BufferedReader"% %@page import= "java.io.FileReader"% %@page import= "java.io.File"% %@page language= "j...

 

技能:文本文件行的停下符为('\n')或('\r'),不过浏览器却不认同那么些行的终止符。因而,为了让读取的文本内容在浏览器里彰显换行,就必需在读取每一行的时候再前面加上HTML标签<br>

public class CompareTest3 {
    public static void main(String args[]) {
     long millis1 = System.currentTimeMillis();
     System.out.println(millis1);
     Read3 read = new Read3(millis1);
     ExecutorService service = Executors.newFixedThreadPool(5);
     for(int i = 1; i <= 3; i++){
      service.execute(new Thread(read, "线程" + i)); 
     }
    }
}
 
class Read3 implements Runnable {
 Object o = new Object();
    List<File> filePathsList = new ArrayList<File>();
    int index = 0;
    private long millis ;
    public Read3(long millis1 ) {
     this.millis = millis1;
        File f = new File("d:" + File.separator + "gc2");
        getFileList(f);
    }
 
    private void getFileList(File f) {
        File[] filePaths = f.listFiles();
        for (File s : filePaths) {
            if (s.isDirectory()) {
                getFileList(s);
            } else {
                if (-1 != s.getName().lastIndexOf(".txt")) {
                    filePathsList.add(s);
                }
            }
        }
    }
 
    public void run() {
        File file = null;
        File f2 = null;
        while (index < filePathsList.size()) {
         //此处,保险了多线程不会陆续读取文件

在这里File对象必需用相对路线,”C:\\“   .另外,目录分隔符不能够用”\“,必须用"\\'.

 

public class CompareTest4 {
    public static void main(String args[]) {
     
     final long millis1 = System.currentTimeMillis();
     final CyclicBarrier cb = new CyclicBarrier(1,new Runnable(){
            public void run() {
                long millis2 = System.currentTimeMillis();
              System.out.println(millis2);
                System.out.println(millis2 - millis1);  //大约1-2ms
            }
        }); 
     
        
     Read4 read = new Read4(cb);
     ExecutorService service = Executors.newFixedThreadPool(1);
     for(int i = 1; i <= 1; i++){
      service.execute(new Thread(read, "线程" + i)); 
     }
    }
}
 
class Read4 implements Runnable {
  
 Object o = new Object();
    List<File> filePathsList = new ArrayList<File>();
    int index = 0;
    CyclicBarrier cb2;
    public Read4(CyclicBarrier cb) {
     this.cb2 = cb;
        File f = new File("d:" + File.separator + "gc2");
        getFileList(f);
    }
 
    private void getFileList(File f) {
        File[] filePaths = f.listFiles();
        for (File s : filePaths) {
            if (s.isDirectory()) {
                getFileList(s);
            } else {
                if (-1 != s.getName().lastIndexOf(".txt")) {
                    filePathsList.add(s);
                }
            }
        }
    }
 
    public void run() {
        File file = null;
        File f2 = null;
        while (index < filePathsList.size()) {
            synchronized (o) {
                if (index > filePathsList.size()) {
                    return;
                }
                file = filePathsList.get(index);
                index++;
                //System.out.println("内部index: " + index);
            }

 

  1. <%@page import="java.io.BufferedReader"%>  
  2. <%@page import="java.io.FileReader"%>  
  3. <%@page import="java.io.File"%>  
  4. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>  
  5. <%  
  6.     //String path = request.getContextPath();  
  7.     //System.out.println("path=="+path);  
  8.     //String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";  
  9. %>  
  10. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ";  
  11. <html>  
  12. <head>  
  13. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  14. <title>实例9:使用jsp读取TXT格式文件</title>  
  15. </head>  
  16. <body>  
  17. <%  
  18.         //String filePath = request.getSession().getServletContext().getRealPath("/")+"JSP_Ajax"+"\\";  
  19.         //System.out.println("filePath=="+filePath);  
  20.         String path ="C:\\";   // 那边文件目录需改成相对路线  
  21.         File file = new File(path,"jsp.txt");  
  22.         FileReader fr = new FileReader(file);  //字符输入流  
  23.         BufferedReader br = new BufferedReader(fr);  //使文件可按行读取并具备缓冲功用  
  24.         StringBuffer strB = new StringBuffer();   //strB用来积存jsp.txt文件里的内容  
  25.         String str = br.readLine();  
  26.         while(str!=null){  
  27.             strB.append(str).append("<br>");   //将读取的源委放入strB  
  28. str = br.readLine();  
  29.         }  
  30.         br.close();    //关闭输入流  
  31.     %>  
  32. <center>  
  33. <%=strB %>  
  34. </center>  
  35. </body>  
  36. </html>  

package face.thread.ReadFile;

技艺:文本文件行的告一段落符为('\n')或('\r'),不过浏览器却不认账这个行的终止符。因而,为了让读取的文书内容在浏览器里体现换行,就非得在读取每一行的时候再后边加上HTML标签<br>

在此地File对象必需用绝对路线,”C:\\“   .另外,目录分隔符不可能用”\“,必须用"\\'.

            synchronized (o) {
                if (index > filePathsList.size()) {
                    return;
                }
                file = filePathsList.get(index);
                index++;
                //System.out.println("内部index: " + index);
            }

  1. <%@page import="java.io.BufferedReader"%>  
  2. <%@page import="java.io.FileReader"%>  
  3. <%@page import="java.io.File"%>  
  4. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>  
  5. <%  
  6.     //String path = request.getContextPath();  
  7.     //System.out.println("path=="+path);  
  8.     //String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";  
  9. %>  
  10. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ";  
  11. <html>  
  12. <head>  
  13. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  14. <title>实例9:使用jsp读取TXT格式文件</title>  
  15. </head>  
  16. <body>  
  17. <%  
  18.         //String filePath = request.getSession().getServletContext().getRealPath("/")+"JSP_Ajax"+"\\";  
  19.         //System.out.println("filePath=="+filePath);  
  20.         String path ="C:\\";   // 这边文件目录需改成相对路线  
  21.         File file = new File(path,"jsp.txt");  
  22.         FileReader fr = new File里德r(file);  //字符输入流  
  23. 科技世界,        BufferedReader br = new BufferedReader(fr);  //使文件可按行读取并装有缓冲功用  
  24.         StringBuffer strB = new StringBuffer();   //strB用来积存jsp.txt文件里的内容  
  25.         String str = br.readLine();  
  26.         while(str!=null){  
  27.             strB.append(str).append("<br>");   //将读取的剧情纳入strB  
  28. str = br.readLine();  
  29.         }  
  30.         br.close();    //关闭输入流  
  31.     %>  
  32. <center>  
  33. <%=strB %>  
  34. </center>  
  35. </body>  
  36. </html>  

 

//--1.1方法内的变量是线程安全的
//解释:由于方法内的变量是私有的,本体访问的同时别人访问不了,所以是线程安全的。
//--1.2实例变量是非线程安全的
//解释:由于实例变量可以由多个线程访问,当本体操作变量过程中,别人也可以抢占资源操作变量,使数据不同步了,所以是非线程安全的。

事例2:同样的读取文件,改为单线程读取