當前位置:首頁 » 文件管理 » osxftp

osxftp

發布時間: 2022-07-06 00:51:21

㈠ Windows端有哪些ftp客戶端軟體值得推薦

Windows端有哪些FTP客戶端軟體值得推薦?

Filezilla

FileZilla是一個免費的 FTP 客戶端軟體,雖然它是免費軟體,可功能卻一點也不含糊,比起那些共享軟體來有過之而無不及,在新的版本中作者改進了手動下載的界面和功能等,不過該軟體暫時還是不支持斷點續傳功能。總的來說是一款優秀的免費軟體。

功能介紹:

1、易於使用

2、支持FTP, FTP並支持SSL/TLS (FTPS)協議,支持SSH文件傳輸協議(SFTP)

3、跨平台。在 Windows, linux, *BSD, Mac OS X 和其它平台下運行 more

4、支持IPv6協議

5、多種可用的語言(包含中文)

6、斷點續傳且支持容量大於4GB的文件

7、多標簽用戶界面

8、功能強大的站點管理器(Site Manager)和傳輸隊列管理

9、書簽功能

10、拖拽功能支持

11、支持傳輸限速功能

12、文件名過濾器

13、文件夾比較功能

14、網路設置向導

15、遠程文件編輯功能

16、保持鏈接功能

17、支持HTTP/1.1, SOCKS5 和 FTP代理(FTP-Proxy)

18、登錄到文件功能

19、同步文件夾瀏覽

20、遠程查找文件

㈡ 怎麼在linux下開啟xftp伺服器

1. 首先伺服器要安裝ftp軟體,查看是否已經安裝ftp軟體下: #which vsftpd
如果看到有vsftpd的目錄說明伺服器已經安裝了ftp軟體

2. 查看ftp 伺服器狀態
#service vsftpd status

3. 啟動ftp伺服器
#service vsftpd start

4. 重啟ftp伺服器
#service vsftpd restart

5. 查看服務有沒有啟動
#netstat -an | grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
如果看到以上信息,證明ftp服務已經開啟。

6.如果需要開啟root用戶的ftp許可權要修改以下兩個文件
#vi /etc/vsftpd.ftpusers中注釋掉root
#vi /etc/vsftpd.user_list中也注釋掉root
然後重新啟動ftp服務。

7. vsftpd 500 OOPS: cannot change directory
登陸報錯:
C:\>ftp 192.168.0.101
Connected to 192.168.0.101.
220 (vsFTPd 2.0.5)
User (192.168.0.101:(none)): frank
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/frank
Login failed.
ftp> ls
500 OOPS: child died
Connection closed by remote host.
解決方法:
setsebool ftpd_disable_trans 1
service vsftpd restart
就OK了!

這是SELinux的設置命令,在不熟悉SELnux前,把SELinux關掉也可以的。

8. 永久開啟,即os重啟後自動開啟ftp服務
方法一:
cd /etc/xinetd.d ,編輯ftp服務的配置文件gssftp的設置:
vi /etc/xinetd.d/gssftp ,將 修改兩項內容:

(a) server_args = -l –a 去掉-a 改為server_args = -l
(b) disable=yes改為disable=no
(c) 保存退出。

方法二:
(a) system-config-services , 進入圖形界面的System services查看是否有 vsftpd項,如果沒有轉到2.,保存後退出

(b) 用redhat第三張盤 安裝此服務(開始--刪除/增加程序),200K左右

(c) #setup
此時能看到vsftpd項,此時選中此services項,保存後退出.

㈢ xftp鏈接對面主機必須開啟ftp伺服器嗎

1. 首先伺服器要安裝ftp軟體,查看是否已經安裝ftp軟體下: #which vsftpd
如果看到有vsftpd的目錄說明伺服器已經安裝了ftp軟體

2. 查看ftp 伺服器狀態
#service vsftpd status

3. 啟動ftp伺服器
#service vsftpd start

4. 重啟ftp伺服器
#service vsftpd restart

5. 查看服務有沒有啟動
#netstat -an | grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
如果看到以上信息,證明ftp服務已經開啟。

6.如果需要開啟root用戶的ftp許可權要修改以下兩個文件
#vi /etc/vsftpd.ftpusers中注釋掉root
#vi /etc/vsftpd.user_list中也注釋掉root
然後重新啟動ftp服務。

7. vsftpd 500 OOPS: cannot change directory
登陸報錯:
C:\>ftp 192.168.0.101
Connected to 192.168.0.101.
220 (vsFTPd 2.0.5)
User (192.168.0.101:(none)): frank
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/frank
Login failed.
ftp> ls
500 OOPS: child died
Connection closed by remote host.
解決方法:
setsebool ftpd_disable_trans 1
service vsftpd restart
就OK了!

這是SELinux的設置命令,在不熟悉SELnux前,把SELinux關掉也可以的。

8. 永久開啟,即os重啟後自動開啟ftp服務
方法一:
cd /etc/xinetd.d ,編輯ftp服務的配置文件gssftp的設置:
vi /etc/xinetd.d/gssftp ,將 修改兩項內容:

(a) server_args = -l –a 去掉-a 改為server_args = -l
(b) disable=yes改為disable=no
(c) 保存退出。

方法二:
(a) system-config-services , 進入圖形界面的System services查看是否有 vsftpd項,如果沒有轉到2.,保存後退出

(b) 用redhat第三張盤 安裝此服務(開始--刪除/增加程序),200K左右

(c) #setup
此時能看到vsftpd項,此時選中此services項,保存後退出.

㈣ 如何優雅地使用 Sublime Text

Sublime Text 2和3

相比於2,Sublime Text 3就秒啟動一項,就壓倒性地勝利了。因此在之後的敘述中都以Sublime Text 3為主角。並且3一直在不斷的完善更新,具體的差異可參看Sublime Blog.簡單的說:

ST3支持在項目目錄裡面尋找變數

提供了對標簽頁更好地支持(更多的命令和快捷鍵)

加快了程序運行的速度

更新了API,使用python3.3

強烈推薦朋友們使用3! 唯快不破,不解釋。

優雅使用Sublime Text,插件則是不可缺少的存在;而插件的備份就顯得非常的重要(譬如:各平台同步;更換系統/電腦,迅速使用已安裝的插件)。這事兒也很簡單,只需將Packages(Preferences > Browse Packages)中內容拷貝一份,同步雲端即可;至於存儲何處,雲盤,Github,皆無不可;譬如先前有存一份於 sublime_packages,每有所需只要 Down 下來,替換掉原 Packages 下內容就好。


Sublime Text 3安裝插件


Sublime Text的強大就是她擁有強大的課可擴展性。您可根據自己的需要安裝不同的插件;這使得她變的無比強大的同時又不失輕便。

插件安裝方式一:直接安裝:

安裝Sublime text 3插件很方便,可以直接下載安裝包解壓縮到Packages目錄(菜單->preferences->packages)。

插件安裝方式二:使用Package Control組件安裝:

按Ctrl+`調出console(註:安裝有QQ輸入法的這個快捷鍵會有沖突的,輸入法屬性設置-輸入法管理-取消熱鍵切換至QQ拼音)粘貼以下代碼到底部命令行並回車:

import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())

重啟Sublime Text 3。如果在Perferences->package settings中看到package control這一項,則安裝成功。按下Ctrl+Shift+P調出命令面板輸入install 調出 Install Package 選項並回車,然後在列表中選中要安裝的插件。

PS:國內使用SublimeText3,經常可能遇到無法安裝可用插件問題,可remove掉Package Control重新安裝下;如遇到連Package Control也無法安裝,則可以在別處拷貝一份關於Package Control的文件-(Package Control.sublime-package)存放於Installed Packages目錄之下即可。


Sublime Text 3插件推薦


無插件,不神器!根據自己的需要定製屬於自己的強大插件集;作為在移動端舊游之後,又Web端新游的自己,牆裂推薦以下這么幾款插件:

MarkDown Editing
SublimeText不僅僅是能夠查看和編輯 Markdown 文件,但它會視它們為格式很糟糕的純文本。這個插件通過適當的顏色高亮和其它功能來更好地完成這些任務。關於如何在SublimeText下高效些東西可參見文章:sublime text 2(3)下的Markdown寫作 抑或是前段時間寫下的追尋高效工作的一路折騰二

SideBarFolders
打開的文件夾都太多了? 來用這個來管理文件夾,世界原來也可以這么美好。


SideBarFolders


Sublime Terminal
這個插件可以讓你在Sublime中直接使用終端打開你的項目文件夾,並支持使用快捷鍵。

ColorPicker
通常,如果你想使用一個顏色選擇器則可能打開 Photoshop 或 GIMP。而在 Sublime Text 中,你可以使用內置的顏色選擇器。安裝完成後,只要按下Ctrl / Cmd + Shift + C 快捷鍵。

SublimeREPL
這可能是對程序員很有用的插件。SublimeREPL 允許你在 Sublime Text 中運行各種語言(NodeJS , Python,Ruby, Scala 和 Haskell 等等)。

Ctags插件
有童鞋抱怨Sublime Text不能支持函數的跳轉(比如像Eclipse那樣,按住Control點擊該方法或者對象,即可跳轉到定義的地方; Alt+←即可回到原處)。其實Sublime Text也可以藉助插件實現之(當然,有些情況下:Can not find defination)畢竟這個也是藉助正則來匹配完成的。因此這個也就要求代碼很規范。這個插件相對來講會有些麻煩,具體的可以參見:Sublime Text ctags 的配置.

SublimeLinter插件
SublimeLinter 是前端編碼利器——Sublime Text 的一款插件,用於高亮提示用戶編寫的代碼中存在的不規范和錯誤的寫法,支持 javaScript、CSS、HTML、Java、php、Python、Ruby 等十多種開發語言。這篇文章介紹如何在 Windows 中配置 SublimeLinter 進行 JS & CSS 校驗。
比如寫例如像lua這樣的弱語言腳本代碼,有這個可以規避掉很多不該有的低級錯誤吧?當然這也需要你SublimeLinter安裝完畢之後再安裝一個SublimeLinter-lua即可。具體的使用可以參見:藉助 SublimeLinter 編寫高質量的 JavaScript & CSS 代碼

SideBarEnhancements插件
SideBarEnhancements是一款很實用的右鍵菜單增強插件;在安裝該插件前,在Sublime Text左側FOLDERS欄中點擊右鍵,只有寥寥幾個簡單的功能;安裝了就相當於給其豐了大胸一般。
更強大的是,該插件還能讓我們自定義快捷鍵呼出某個瀏覽器以預覽頁面!這樣就不用到項目目錄下尋找和拖動到特定瀏覽器中預覽了。
安裝此插件後,點擊菜單欄的preferences->package setting->side bar->Key Building-User,鍵入以下代碼:

[
{ "keys": ["ctrl+shift+c"], "command": "_path" },
//chrome
{ "keys": ["f2"], "command": "side_bar_files_open_with",
"args": {
"paths": [],
"application": "C:\Users\jeffj\AppData\Local\Google\Chrome\Application\chrome.exe",
"extensions":".*"
}
}
]

這里設置按Ctrl+Shift+C復制文件路徑,按F2即可在Chrome瀏覽器預覽效果(如果需要的話,也可以根據自己的需要為Firefox,Safari,IE,Opera等加上),當然你也可以自己定義喜歡的快捷鍵,最後注意代碼中的瀏覽器路徑要以自己電腦里的文件路徑為准。

HTML-CSS-JS Prettify
一款集成了格式化(美化)html、css、js三種文件類型的插件,即便html,js寫在PHP文件之內。插件依賴於nodejs,因此需要事先安裝nodejs,然後才可以正常運行。插件安裝完成後,快捷鍵ctrl+shift+H完成當前文件的美化操作。插件對html、css文件的美化不是非常滿意,但還可以,後面將說明如何修改css美化腳本。本人用起來超級爽的,鑒於篇幅,就不贅述,可以參見這篇介紹。

CSScomb CSS屬性排序:
有時候看看自己寫的CSS文件,會不會覺得屬性很亂查找不易維護難?CSScomb可以按照一定的CSS屬性排序規則,將雜亂無章的CSS屬性進行重新排序。選中要排序的CSS代碼,按Ctrl+Shift+C,即可對CSS屬性重新排序了,代碼從此簡潔有序易維護,如果不款選代碼則插件將排序文件中所有的CSS屬性。當然,可以自己自定義CSS屬性排序規則,打開插件目錄里的CSScomb.sublime-settings文件,更改裡面的CSS屬性順序就行了。因為這個插件使用PHP寫的,要使他工作需要在環境變數中添加PHP的路徑,具體請看github上的說明。

SublimeTmpl 快速生成文件模板
一直都很奇怪為什麼sublime text 3沒有新建文件模板的功能,像html頭部的DTD聲明每次都要復制粘貼。用SublimeTmpl這款插件終於可以解脫了,SublimeTmpl能新建html、css、javascript、php、python、ruby六種類型的文件模板,所有的文件模板都在插件目錄的templates文件夾里,可以自定義編輯文件模板。
SublimeTmpl默認的快捷鍵:

ctrl+alt+h html
ctrl+alt+j javascript
ctrl+alt+c css
ctrl+alt+p php
ctrl+alt+r ruby
ctrl+alt+shift+p python

如果想要新建其他類型的文件模板的話,先自定義文件模板方在templates文件夾里,再分別打開Default (Windows).sublime-keymap、Default.sublime-commands、Main.sublime-menu、SublimeTmpl.sublime-settings這四個文件照著裡面的格式自定義想要新建的類型,這里就詳細介紹了,請各位自己折騰哈~

Javascript-API-Completions:
支持Javascript、JQuery、Twitter Bootstrap框架、HTML5標簽屬性提示的插件,是少數支持sublime text 3的後綴提示的插件,HTML5標簽提示sublime text3自帶,不過JQuery提示還是很有用處的,也可設置要提示的語言。


sublime-jq-plugin

SFTP:快速編輯遠程伺服器文件
在Win下用Xftp 和 WinScp,被這種需要切換點擊or F5刷新的手動操作蛋疼到無語;故此一遇見這SFTP,頓覺這世界都美好了許多。當然Sublime下面也有些其他同步插件,比如FtpSnyc,但是配置起來的錯誤提示一點都不人性化,就毫不留情的舍棄了。Sublime下有SFTP,只要Ctrl+S即可同步本地到伺服器,妥妥的爽歪歪有么有?如何配置,請參見在 Sublime Text中使用 SFTP 插件快速編輯遠程伺服器文件;如欲使用FtpSync可參見Sublime使用及FtpSync遠程同步;大道至簡,因簡而悅;開心壘碼,值得折騰。

WakaTime -- 記錄你的Code時間;
WakaTime可以做到精確地統計到你花在某個項目上的時間;WakaTime針對不同的IDE,擁有不同的插件,在Sublime上安裝著插件,就能統計到我使用Sublime進行的所有項目的行為。可以高效管理和知曉自己code時間;並且,統計完善, 適合發朋友圈裝逼(如果你喜歡的話)~

Waka的基本設計和rescuetime類似。每個人注冊完將獲取一個key,裝一個客戶端,把key輸進去(登陸是同一個道理),然後它就把本地的所有行為帶個key扔給伺服器來統計,一段時間之後給你個報表。不過Waka做的真的很精準,精確到每一個文件用了多少秒,每一種語言用了多少時間。



安裝和使用都很簡單,請參見這里。另外一篇比較詳細的文章時間都去哪了?用RescueTime和WakaTime來記錄你的時間,對RescueTime和WakaTime有一個更為詳細的敘述,可以一讀。

DocBlockr: 代碼塊注釋
可以快速的對函數進行注釋。保持代碼規范。支持多種語言,有 JavaScript (including ES6), PHP, ActionScript, Haxe, CoffeeScript, TypeScript, Java, Apex, Groovy, Objective C, C, C++ and Rust.

/*:回車創建一個代碼塊注釋

/**:回車在自動查找函數中的形參等等。

它會生成 JSDoc 格式的注釋。如果你從沒有使用過類似的工具,DocBlockr 會讓你覺得以前沒有它是如何寫代碼的。幫助你創造你的代碼注釋,通過解析功能,參數,變數,並且自動添加基本項目;如果你願意其更為便捷,不妨再結合AutoHotKey,高效注釋,由此開啟。

sublime-text-git: Git 版本控制
可視化的操作:幫助你與你的Git repo協議進行交互。它支持很多命令像init,push, pull, branch, stash,等等。使用它當然提前需要安裝 Git,並做好響應的配置;對於這個插件,不妨看下這篇文章 Using Git Inside of Sublime Text to Improve Workflow,相信她的伴隨不會讓你失望的。

advancedNewFile: 快速創建文件
當我們在 Sublime Text 編輯器里我們可以通過快捷鍵command+n(win: ctrl+n),來新建一個文件,然後command+s(Win:ctrl+s)進行彈出保存框,填寫文件名進行保存。還是老問題,麻煩!!我們接下來就通過安裝advancedNewFile插件來提升我們在Sublime Text編輯器下的創建文件速度。

關乎其使用,安裝完成之後,運用快捷鍵command+alt+n(win: ctrl+alt+n)
,Sublime Text底部會彈出輸入框;我們只需在這個輸入框里輸入我們需要新建的文件名回車即可(我們甚至可以帶路徑,譬如:src/components/perfect.vue;這就會在當前項目目錄下,建立該文件;需要注意的是這路徑前面不可加 '/', 這會使得建立的路徑成為用戶目錄,而非改項目目錄)。默認情況下文件會存儲在當前目錄,如果當前沒有目錄,會存儲在用戶的家目錄。

剩下些許其他的可以按需安裝的插件,比如:

ConvertToUTF8 支持 GBK, BIG5, EUC-KR, EUC-JP, Shift_JIS 等編碼的插件

Bracket Highlighter 用於匹配括弧,引號和html標簽。對於很長的代碼很有用。安裝好之後,不需要設置插件會自動生效

DocBlockr 可以自動生成PHPDoc風格的注釋。它支持的語言有Javascript, PHP, ActionScript, CoffeeScript, Java, Objective C, C, C++

<font color="purple">Emmet(Zen Coding)</font>快速生成HTML代碼段的插件,強大到無與倫比:可以超快速編寫HTML/CSS/JS,當然這個插件還支持多種編譯環境,如常見的:Eclipse/Aptana、Coda、Notepad++、Adobe Dreamweaver、TextMate等,web開發必備!!!。

jsFormat 格式化js代碼,懂者自懂;強迫症Coder必備!默認快捷鍵Ctrl+Alt+F。

phpFormat 格式化php代碼,懂者自懂;強迫症Coder必備!

CSS Compact Expand CSS屬性展開收縮:寫CSS的盆友,喜歡將其寫多行還是一行(個人喜歡將其格式化為多行)?如果閱讀別人的代碼不符合自己的習慣,可以用CSS Compact Expand這個插件將CSS格式化一下,按 Ctrl+Alt+[ 收縮CSS代碼為一行顯示,按 Ctrl+Alt+] 展開CSS代碼為多行顯示;強迫症Coder必備!。

Autoprefixer插件:這是一款CSS3私有前綴自動補全插件;該插件使用CanIUse資料庫(當然,SublimeText自然也有<font color="purple">CanIUse</font>這個插件咯),能精準判斷哪些屬性需要什麼前綴,與CssComb插件一樣,該插件也需要系統已安裝Node.js環境;使用方法:在輸入CSS3屬性後(冒號前)按Tab鍵即可。

YUI Compressor:壓縮JS和CSS文件,按F7鍵後,若壓縮當前文件(demo.js),則壓縮後的文件(demo.min.js)保存在該文件的同級目錄,需要安裝java的JDK。使用方法:YUI Compressor

ClickableURLs:可點擊的URL
使用小插件ClickableURLs可以讓文件中的URL能夠點擊。

Vue Syntax Highlight: Vue(*.vue)高亮插件;於前端而言,使用Vue框架開發,是一個很酷爽的存在,那麼此插件也就很有必要擁有;同時Jade, SASS等插件也是很有擁有的必要,誰用誰知道(說到用vue, 這vue-cli就蠻有使用的必要了( Webpack, Eslint, Test等都配置完善,十分貼心); 而寫Js代碼,於稍大項目 Eslint 就很有使用必要,而 sublime 在針對使用 Eslint 的 *.vue文件,目測還沒有很好格式化插件,坐等誕生😳)。

終極王道:自己編寫專用的Sublime Text插件。雖然說各個方面比如移動端,Web前段,伺服器端,非Coder的Writer所需要的方便已經被集成在了不同的插件中。但譬如,需要快捷打開PC端的某個模擬器,便捷的進行某些校驗,只要你想的到的基本都可以將其在插件內,以快捷鍵處理之。至於如何編寫SublimeText插件,請參看這里編寫自己的Sublime Text2 插件


定製屬於自己的快捷鍵

首先要會使用SublimeText內置的快捷鍵:
比如 Commond Shift P 打開命令面板:例如打開Package Control安裝各種插件;可以可以輸入Set(Snytax)來改變使用的語言環境,瞬間切換等等。

設置快捷鍵。在SublimeText里,打開Preferences -> Key Bindings - User,我設置的快捷鍵:

[
{ "keys": ["ctrl+f9"], "command": "build" },
{ "keys": ["f10"], "command": "build", "args": {"variant": "Run"} },
{ "keys": ["ctrl+shift+x"], "command": "toggle_comment", "args": { "block": true } },
]



㈤ xshell連接不到linux

ssh服務沒啟動吧。用命令 service sshd start把服務啟動就可以連接了。

㈥ FtpClient

當時我用SUN 的FtpClient.get()方法下載文件是有問題的,我推薦你用org.apache.commons.net.ftp.FTPClient下載文件,可以解決中文文件下載問題,你可以去我博客里看看哦:http://hi..com/renliangli/blog/item/6ccb6b3a049d95c9d46225a5.html,文章摘給你吧:
現在就來看下我解決的代碼吧,希望對遇到同樣問題的人有點幫助。

1)把ftp地址中的文件保存到本地的java類源碼

package test;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPClientConfig;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;

public class Ftp {

/**
* Description: 從FTP伺服器下載文件
* @param ip FTP伺服器的ip地址
* @param port FTP伺服器埠,默認為:21
* @param username FTP登錄賬號
* @param password FTP登錄密碼
* @param remotePath FTP伺服器上的相對路徑
* @param fileName 要下載的文件名
* @param localPath 下載後保存到本地的路徑
* @return
*/
public static boolean downFile(String ip, int port,String username, String password, String remotePath,String fileName,String localPath) {
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(ip, port);
//下面三行代碼必須要,而且不能改變編碼格式,否則不能正確下載中文文件
ftp.setControlEncoding("GBK");
FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_NT);
conf.setServerLanguageCode("zh");

//如果採用默認埠,可以使用ftp.connect(url)的方式直接連接FTP伺服器
ftp.login(username, password);//登錄
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}

ftp.changeWorkingDirectory(remotePath);//轉移到FTP伺服器目錄
FTPFile[] fs = ftp.listFiles();

for(int i = 0; i < fs.length; i++){
FTPFile ff = fs[i];
if(ff.getName().equals(fileName)){

File localFile = new File(localPath+File.separator+ff.getName());
//
OutputStream is = new FileOutputStream(localFile);

//注意此處retrieveFile的第一個參數由GBK轉為ISO-8859-1編碼。否則下載後的文件內容為空。
//原因可能是由於aix系統默認的編碼為ISO-8859-1
ftp.retrieveFile(new String(ff.getName().getBytes("GBK"),"ISO-8859-1"), is);
is.close();
}
}

ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}

public static void main(String[] args) {
// TODO Auto-generated method stub
Ftp.downFile("10.32.166.144", 21, "test", "test", "/flashfxp", "激活碼.txt", "C:");

}

}

2)將ftp資源以文件流的方式打開,由用戶決定保存在本地何處,程序運行後可以從IE跳出框中打開或者保存的Action代碼,利用Struts1寫的:

/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.mocha.test;

import java.io.IOException;

import java.io.OutputStream;

import java.net.URLEncoder;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPClientConfig;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class DownloadAction extends Action{

/** *//**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
* @throws IOException
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws IOException{

OutputStream os=null;

try {

os = response.getOutputStream();

response.reset();

downFile("10.32.166.144", 21, "test", "test", "/flashfxp", "激活碼.txt",os,response);

} catch (IOException e){
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try{
os.close();

} catch (IOException e){
// TODO Auto-generated catch block
e.printStackTrace();
}

}
return null;

}

/**
* Description: 從FTP伺服器下載文件
* @param ip FTP伺服器ip地址
* @param port FTP伺服器埠,默認為21
* @param username FTP登錄賬號
* @param password FTP登錄密碼
* @param remotePath 附件在FTP伺服器上的絕對路徑
* @param fileName 要下載的文件名
* @param outputStream 輸出流
* @param response
* @return
*/
public static boolean downFile(String ip, int port,String username, String password, String remotePath
,String fileName,OutputStream outputStream,HttpServletResponse response) {
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(ip, port);
//下面三行代碼必須要,而且不能改變編碼格式
ftp.setControlEncoding("GBK");
FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_NT);
conf.setServerLanguageCode("zh");

//如果採用默認埠,可以使用ftp.connect(url)的方式直接連接FTP伺服器
ftp.login(username, password);//登錄
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}

ftp.changeWorkingDirectory(remotePath);//轉移到FTP伺服器目錄
FTPFile[] fs = ftp.listFiles();

for(int i = 0; i < fs.length; i++){
FTPFile ff = fs[i];
if(ff.getName().equals(fileName)){

String filename = fileName;
//這個就就是彈出下載對話框的關鍵代碼
response.setHeader("Content-disposition",
"attachment;filename=" +
URLEncoder.encode(filename, "utf-8"));
//將文件保存到輸出流outputStream中
ftp.retrieveFile(new String(ff.getName().getBytes("GBK"),"ISO-8859-1"), outputStream);
outputStream.flush();
outputStream.close();
}
}

ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}
}

差點忘了利用ftpclient要用到的jar包了,呵呵,就這兩個了:commons-net-1.4.1.jar、jakarta-oro-2.0.8.jar

對了我用的jdk是1.4的。所以commons-net-1.4.1.jar用了這個版本比較老的。

㈦ CenterOs7怎麼開啟FTP服務

1. yum -y install vsftpd 安裝vsftpd

2.編輯ftp配置文件
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO //禁止匿名登錄
chroot_local_user=YES //將所有用戶限制在主目錄
chroot_list_enable=YES //是否啟動限制用戶的名單、
chroot_list_file=/etc/vsftpd/chroot_list //不啟用限制的名單

allow_writeable_chroot=YES

㈧ Mac上有哪些可以替代Xshell的工具

1、Alfred 是 Mac 平台上最為傳奇的效率工具。Mac 對原生 Shell 的支持是無數程序員喜愛 Mac 的理由之一,程序員用 Mac 而不用 Shell,基本等於自斷一臂,威力將大打折扣。Shell 並非憑空而來,它的入口是終端工具。OS X自帶的終端工具雖然不錯,但是和 iTerm 2一比,就遜色很多了。

2、iTerm2 是 OS X 下一款開源免費的的終端工具。

3、IDE 是圖形化的集成開發工具,具備精準的詞法分析、編程提示、調試等功能,功能之繁復用戶自知,如果做工業級編程和團隊協作的話,推薦使用 IDE。

4、Homebrew 是 OS X 的包管理工具,Ruby 社區的作品,功能類似 Ubuntu 下的apt-get。

5、Git 是一款分布式版本控制和軟體配置管理軟體,類似 SVN 和 CVS。

6、xScope 是一款強大的輔助設計工具,可以精確度量屏幕上的 UI 元素,尤其適合全棧工程師。

㈨ 如何將wordpress博客順利地搬家到阿里雲伺服器

第一步,到阿里雲買個ECS伺服器,具體大家可以看下這篇文章《阿里雲ecs雲伺服器建立wordpress個人博客教程》。不過在選鏡像的時候,建議大家選擇cectos 6.5 32位的,不用選擇wordpress博客了,如下圖:

第二步,網路下載一個Xshell軟體和一個Xftp 4軟體,然後登錄Xshell軟體,在阿里雲後台能看到公網IP連接,再輸入購買伺服器時的密碼,如下圖:

第三步,由於伺服器我是自學的,不太懂,為了方便使用伺服器我們需要安裝一個WDCP控制面板,我們就可以把伺服器當成虛擬主機來用,具體大家看下
這篇文章《阿里雲ecs雲伺服器安裝wdcp控制面板教程》,安裝成功後在瀏覽器輸入公網IP就會提示WDCP安裝成功了,如下圖:

第四步,我在使用這個WDCP控制面板的時候,安裝上我看了是最新的版的,不過在搬家後會遇到一個502的錯誤。所以,為了防止搬家後出現502的錯誤最好先給WDCP升級一下,看下這篇文章《阿里雲ecs雲伺服器使用wdcp控制面板建站教程》,錯誤提示如下圖:

第五步,登錄wdcp控制面板後台,為了安全起見,把後台密碼,資料庫密碼給改了。後台有一個創建整站和創建站點的功能,選擇創建整站,輸入域名,FTP,資料庫等相關信息,具體看下這篇文章《阿里雲ecs雲伺服器使用wdcp控制面板建站教程》

第六步,打開Xshell軟體登錄,在右上角有個綠色的箭頭點擊下就可以打開XFTP4軟體,在/www/web/shaolianhu_com/public_html這個文件下面就是網站的根目錄,把裡面的文件給刪除了,把自己打包的文件給上傳到這里,如下圖:

第七步,登錄WDCP控制面板,在左邊導航找到mysql登錄,找到你剛才創建整站時寫的資料庫名,然後打開導入,上傳你備份的資料庫文件,如果文件較大,建議弄成ZIP格式的壓縮包上傳,如下圖:

第八步,把網站根目錄下的wp-config.php文件下載到電腦上,下載一個UltraEdit軟體,如果安裝不了就下載一個破解版的。安裝後把wp-config.php裡面資料庫信息給配置下,然後保存為utf-8 無BOM格式,上傳覆蓋,如下圖:

第九步,這時候打開我們的網站一般都能打開,如果打不開就把網站根目錄下的.htaccess文件刪除了,這時候網站就能打開了。網站能打開後到博
客後台把偽靜態先恢復為動態,再改為動態保存,把.htaccess文件再上傳,這時候偽靜態也成功了。如果大家用XFTP4看不到.htaccess文
件,就用FlashFXP工具登錄就能看到了,如下圖:

第十步,如果登錄博客後台出現Warning: Cannot modify header information提示,請看下這篇文章《wordpress博客Warning: Cannot modify header information解決辦法》,如下圖:

第十一步,如果文章上傳圖片出現無法將上傳的文件移動至wp-content/uploads/2014/11.如果是大家用的是虛擬主機有可能是
空間滿了,我們用的是伺服器當然沒這種情況,那麼就把wp-content/uploads/許可權改為777就行了,還有一種情況就是在博客後台多媒體設
置,不要選擇以年月日形式上傳,如下圖:

wordpress博客到此就搬家成功了,遇到的幾個問題只要按照我上面的方法去做就能解決。

熱點內容
杭州華為智能存儲 發布:2025-01-23 23:24:51 瀏覽:52
老人拍照上傳 發布:2025-01-23 23:24:48 瀏覽:33
安卓手機的imei在哪裡改 發布:2025-01-23 23:24:46 瀏覽:1000
android有線網路 發布:2025-01-23 23:24:07 瀏覽:189
sql語句截取字元串 發布:2025-01-23 23:19:08 瀏覽:117
中斷的記憶ftp 發布:2025-01-23 23:18:59 瀏覽:740
存儲30介面什麼意思 發布:2025-01-23 23:11:24 瀏覽:670
青少兒編程培訓學校 發布:2025-01-23 23:07:52 瀏覽:264
msc編譯器收費 發布:2025-01-23 23:07:36 瀏覽:580
載入存儲單元翻譯 發布:2025-01-23 23:02:25 瀏覽:849