
这个是可以向服务器端发送文字的程序,就是在客户端发送一句hello在服务器也可以接受到hello,这个程序可以修改一下就可以了。具体修改方法是增加一个定时器,然后把字符流改成字节流,现在有点忙,你先研究啊,近两天帮你写写看。
服务器端:
import javanet;
import javaio;
public class DateServer {
public static void main(String[] args) {
ServerSocket server=null;
try{
server=new ServerSocket(6666);
Systemoutprintln(
"Server start on port 6666");
while(true){
Socket socket=serveraccept();
new SocketHandler(socket)start();
/
PrintWriter out=new PrintWriter(
new OutputStreamWriter(
socketgetOutputStream()
)
);
outprintln(new javautilDate()toLocaleString());
outclose();
/
}
}catch(Exception e){
eprintStackTrace();
}finally{
if(server!=null) {
try{
serverclose();
}catch(Exception ex){}
}
}
}
}
class SocketHandler extends Thread {
private Socket socket;
public SocketHandler(Socket socket) {
thissocket=socket;
}
public void run() {
try{
PrintWriter out=new PrintWriter(
new OutputStreamWriter(
socketgetOutputStream()
)
);
outprintln(
new javautilDate()
toLocaleString());
outclose();
}catch(Exception e){
eprintStackTrace();
}
}
}
客户端:
package combriup;
import javaio;
import javanet;
public class FtpClient {
public static void main(String[] args) {
if(argslength==0) {
Systemoutprintln("Usage:java FtpClient file_path");
Systemexit(0);
}
File file=new File(args[0]);
if(!fileexists()||!filecanRead()) {
Systemoutprintln(args[0]+" doesn't exist or can not read");
Systemexit(0);
}
Socket socket=null;
try{
socket=new Socket(args[1],IntegerparseInt(args[2]));
BufferedInputStream in=new BufferedInputStream(
new FileInputStream(file)
);
BufferedOutputStream out=new BufferedOutputStream(
socketgetOutputStream()
);
byte[] buffer=new byte[10248];
int i=-1;
while((i=inread(buffer))!=-1) {
outwrite(buffer,0,i);
}
Systemoutprintln(socketgetInetAddress()getHostAddress()+" send file over");
inclose();
outclose();
}catch(Exception e){
eprintStackTrace();
}finally{
if(socket!=null) {
try{
socketclose();
}catch(Exception ex){}
}
}
}
}
jdk17下其构造函数FtpClient()被定义为private类型,所以无法new了。 在jdk17,已经换成了 FtpClientcreate(ip)方法
同时,其他的一些方法也基本都改掉了,
如 ftpClientopenServer(server);
ftpClientlogin(user, password);
就可以换成:ftpClientlogin(user, null, password);
ftpClientbinary(); ---> ftpClientsetBinaryType();
ftpClientput(remotefilename);--->ftpClientputFileStream(remotefilename, true);
等。
不知道你用的哪个jarcommons-netjar包中可以用 ftpClientlistFiles(pathName);返回值是个FTPFile[],jdk里也有访问ftp的类,用过感觉不太好用,好像中文名称的文件会出现乱码,不太记得怎么用了如果还取不到ftpClientchangeWorkingDirectory(path);可以试试这个,在查下面的目录
//创建一个ftpclient对象
FTPClient fc=new FTPClient();
//创建连接
fcconnect("ip地址", 端口号);
//登录
fclogin("用户名","密码");
//校验登陆
reply = fcgetReplyCode();
if (!FTPReplyisPositiveCompletion(reply)) {
fcdisconnect();
}
//切换到指定地址
fcchangeWorkingDirectory("地址");
//获取该目录下的所有文件
FTPFile[] fs=fclistFiles();
for(FTPFile ff:fs){
Systemoutprintln(ffgetName());
}
//注销退出
fclogout();
切换工作路径啊,
ftpClientchangeWorkingDirectory("/admin/pic"); //工作路径切换到/admin/pic ,ftpClientsetBufferSize(1024); //设置1M缓冲,
ftpClientsetControlEncoding("GBK"); //设置编码为GBK,
ftpClientsetFileType(FTPClientBINARY_FILE_TYPE); //文件类型为二进制文件,
ftpClientstoreFile("3gif", fis)//在前面设置好路径,缓冲,编码,文件类型后,开始上传3gif。
1、Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
2、Java是由Sun Microsystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的。1995年更名为Java,并重新设计用于开发Internet应用程序。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。
以上就是关于求每日定时在服务器的FTP上取数据文件的源码(JAVA)全部的内容,包括:求每日定时在服务器的FTP上取数据文件的源码(JAVA)、FtpClient这个类的方法怎么用、ftp获取不到文件目录,但是登录是成功的。 java等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)