一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - java讀取ftp中TXT文件的案例

java讀取ftp中TXT文件的案例

2020-09-24 00:54zhang06105586 Java教程

這篇文章主要介紹了java讀取ftp中TXT文件的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

最近在開發(fā)關(guān)于java讀取ftp中TXT文件,其中有些坑踩了一下,再次做個(gè)記錄

1、讀取文件時(shí)我會(huì)根據(jù)文件名稱去生成數(shù)據(jù)庫表,oracle數(shù)據(jù)庫對(duì)于表名的長度是有限制的,最多30個(gè)字符

2、對(duì)于多個(gè)文件的ftp的讀取,每次獲取文件后再次回去文件的流會(huì)為空,即在循環(huán)中多次根據(jù)ftp獲取文件的流

java讀取ftp中TXT文件的案例

當(dāng)出現(xiàn)這種情況時(shí),需要在循環(huán)時(shí)每次開啟和關(guān)閉ftp的鏈接即可解決,否則在第二次獲取的時(shí)候inputsteam為null

3、讀取txt文件時(shí),如果文件中包含中文,進(jìn)行讀取時(shí)可能會(huì)出現(xiàn)亂碼,這是可設(shè)置讀取的字符集為UTF-8,如果不行,再試試

GB2312

4、java讀取TXT文件:

?
1
2
3
4
5
InputStreamReader reader = new InputStreamReader(is, "GB2312");
BufferedReader br = new BufferedReader(reader);
String lineTxt = null; //每行數(shù)據(jù)
int rowNum = 0;
while ((lineTxt = br.readLine()) != null) {}

補(bǔ)充知識(shí):Java實(shí)現(xiàn)從FTP獲取文件下載到本地,并讀取文件中的內(nèi)容的成功方法

我就廢話不多說了,大家還是直接看代碼吧~

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
package com.aof.web.servlet;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import javax.jws.WebService;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
@WebService(endpointInterface="com.aof.web.servlet.QualityComplainServices")
public class QualityComplainServicesImpl implements QualityComplainServices {
 //ftp對(duì)象
  private FTPClient ftp;
  //需要連接到的ftp端的ip
  private String ip = "10.46.249.7";
  //連接端口,默認(rèn)21
  private int port = 21;
  //要連接到的ftp端的名字
  private String name = "DKEDI";
  //要連接到的ftp端的對(duì)應(yīng)得密碼
  private String pwd = "P@ssw0rd"
  
 //調(diào)用此方法,輸入對(duì)應(yīng)得ip,端口,要連接到的ftp端的名字,要連接到的ftp端的對(duì)應(yīng)得密碼。連接到ftp對(duì)象,并驗(yàn)證登錄進(jìn)入fto
  public boolean ftp1() {
    ftp = new FTPClient();
    try {
//     ftp.connect(ip, port);
     if(!ftp.isConnected()){
     ftp.connect(ip, port);
   }
      System.out.println(ftp.login(name, pwd));
//     ftp.setCharset(Charset.forName("UTF-8"));
      ftp.setControlEncoding("UTF-8");
      return true;
    } catch (IOException e) {
      e.printStackTrace();
      return true;
    }
    
  }
  
  public void disconnect() throws Exception {
 if (ftp.isConnected()) {
  ftp.disconnect();
 }
 }
  
 // 下載文件到本地
 public boolean download(FTPFile file) throws Exception {
  boolean result = true;
  // 本地文件路徑
  File f = new File("E:\\crmFiles\\");
  if (!f.exists()) {
  f.getParentFile().mkdirs();
  }
  long lRemoteSize = file.getSize();
  try {// 下載過的不在下載了
  OutputStream out = new FileOutputStream(f);
  if (f.length() >= lRemoteSize) {
   System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~本地已經(jīng)存在,下載中止");
   out.flush();
   out.close();
  }
  boolean iss = ftp.retrieveFile(file.getName(), out);
  System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~下載成功\r\n");
  out.close();
  } catch (Exception ex) {
  ex.printStackTrace();
  System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~下載失敗\r\n");
  return false;
  }
  return result;
 }
 
 private InputStreamReader read;
 private BufferedReader reader;
 
 private String preRead(String filepath) throws Exception {
 File file = new File(filepath);
 String ordertype = null;
 if (file.isFile() && file.exists()) {
  try {
  read = new InputStreamReader(new FileInputStream(file), "GBK");
  reader = new BufferedReader(read);
  StringBuffer FileContent = new StringBuffer();
  String temp = null;
  while ((temp = reader.readLine()) != null) {
   FileContent.append(temp);
  }
  System.out.println("訂單內(nèi)容為------------------>>>>> "+FileContent+" <<<<<------------------");
  } catch (FileNotFoundException e) {
  System.out.println("!!!!!!!!!!!!!!!!!沒有找到合適的訂單信息!!!!!!!!!!!!!!!");
  e.printStackTrace();
  } finally {
  reader.close();
  read.close();
//  file.delete();
  }
 }
 return ordertype;
 }
  
  public void gmRead(String remote) throws Exception {
   boolean downloadResult = false;
 try {
  ftp.changeWorkingDirectory(remote);
  System.out.println("遠(yuǎn)程路徑為*************************"+remote);
  FTPFile[] files = ftp.listFiles(remote); // 通過路徑得到文件
  System.out.println("文件數(shù)量為*************************"+files.length);
  for (int i = 0; i < files.length; i++) {
  FTPFile file = files[i];
  if (file.isFile()) {
   downloadResult = this.download(file);// 下載文件 到本地讀取路徑
   if (downloadResult) {
   String ordertype = this.preRead("E:\\crmFiles\\");
   }
   /*//讀取文件內(nèi)容,將內(nèi)容存數(shù)據(jù)庫
   InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "utf-8");
   BufferedReader br = new BufferedReader(isr);
   String lineTxt = null;
   while ((lineTxt = br.readLine()) != null) {
   lineTxt+=lineTxt;
   }
   System.out.println(lineTxt);
   br.close();*/
  }else{
   System.out.println("************* 文件不存在 ************");
  }
  }
 } catch (Exception e) {
  e.printStackTrace();
 }
 }
  
 @Override
 public String threeDAndEightDReports(String orderNum, String FTPUrl, String FileType) {
 //抱怨單號(hào)、FTP地址、3D/8D文件類型
 System.out.println("1-------------"+orderNum);
 System.out.println("2-------------"+FTPUrl);
 System.out.println("3-------------"+FileType);
 if(null != orderNum && null != FTPUrl && null != FileType){
  //連接FTP
  boolean flag = this.ftp1();
  if(flag){
  try {
   //獲取文件、解析文件內(nèi)容,進(jìn)庫操作
   this.gmRead(FTPUrl);
   // 關(guān)閉連接
   this.disconnect();
  } catch (Exception e) {
   e.printStackTrace();
  }
  }else{
  System.out.println("!!!!!!!!!!!!!!!!!FTP連接失敗!!!!!!!!!!!!!!!!!");
  }
  
  return "success";
 }else{
  return "fail";
 }
 }
 
 public static void main(String[] args) {
 QualityComplainServicesImpl q = new QualityComplainServicesImpl();
 q.threeDAndEightDReports("001","/CRMINTERFACE","3D");
 }
}

以上這篇java讀取ftp中TXT文件的案例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/zhang06105586/article/details/105410803

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色戒完整版2小时38分钟 | 暖暖视频免费观看视频中国.韩剧 | 91制片厂制作传媒网站破解 | 欧美在线一二三区 | 免费观看欧美成人h | 国产精品久久久99 | 国内体内she精视频免费 | 国产剧情麻豆刘玥视频 | 国产成人h综合亚洲欧美在线 | 色婷婷激婷婷深爱五月老司机 | 超级碰碰免费视频 | 国产99精品免费视频看6 | 午夜福到在线4国产 | 爱爱小视频免费看 | 亚洲欧洲淘宝天堂日本 | 网站视频免费 | 免费的强动漫人物 | 好姑娘完整版在线观看中文 | bt天堂午夜国产精品 | 美女脱了内裤打开腿让人羞羞软件 | 97色综合| ady@ady9.映画网 | 狠狠色| 风间由美一区二区播放合集 | 97久久免费视频 | 成人在线视频观看 | 色亚 | 国产精品久久久久久岛国 | 日韩欧美一级大片 | 白丝校花好湿好紧 | 国产-第1页-草草影院 | 98色花堂永久地址国产精品 | 国产一级一级片 | h玉足嫩脚嗯啊白丝 | 男女视频在线观看 | 免费高清视频日本 | 色综合网亚洲精品久久 | 国产精品视频自拍 | 午夜精品网 | 国产精品高清一区二区三区不卡 | sao虎影院桃红视频在线观看 |