9
A
回答
21
要做到这一点是阅读的最简单方法教程或样品Java代码它使用常规文件路径。
在Windows上:
new File("\\\\server\\path\\to\\file.txt")
// (double-backslashes required for backslashes in path)
在Unix:
第一安装使用Samba(SMB,NFS或任何其他协议)来类似的/ mnt /网络的某些位置的份额。然后你可以使用:
new File("/mnt/network/path/to/file.txt")
一旦你的文件对象,你可以使用的FileInputStream,的FileReader或其他任何你想读的文件
编辑征求意见的响应。如果您正在使用Applet,则可能需要从Web服务器上获取该文件。您可以使用内置的java.net.URL类,但我会推荐这个,如果你需要做的不仅仅是简单的东西更多:http://hc.apache.org/httpclient-3.x/index.html
示例(从下议院HTTP网站):
// Create an instance of HttpClient.
HttpClient client = new HttpClient();
// Create a method instance.
GetMethod method = new GetMethod(url);
try {
// Execute the method.
int statusCode = client.executeMethod(method);
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: " + method.getStatusLine());
}
// Read the response body.
byte[] responseBody = method.getResponseBody();
// Deal with the response.
// Use caution: ensure correct character encoding and is not binary data
System.out.println(new String(responseBody));
} catch (HttpException e) {
System.err.println("Fatal protocol violation: " + e.getMessage());
e.printStackTrace();
} catch (IOException e) {
System.err.println("Fatal transport error: " + e.getMessage());
e.printStackTrace();
} finally {
// Release the connection.
method.releaseConnection();
}
}
}
-3
尝试以下网址为教程http://www.roseindia.net/java/beginners/construct_file_name_path.shtml
我认为最好的方法是使用java.net.URL
来打开一个InputSteam,因为你可以把它推广到不一定在同一网络上的文件。
0
这不是那么简单!要使用服务器客户端应用程序,您需要一个网络API。
我有1 DeBukkit和扩展版本。如果你想发送文件,我会建议我的一个(服务器客户端扩展.jar)becazse有一个选项发送文件(FilePacket.java)。
这是链接到库:All Libs
代码服务器的客户端服务器扩展:
public class TestServer extends Server {
public TestServer() {
super(29898, true, true,true);
registerMethod("bt", new FileReciver() {
@Override
public void onCompleteRecive(FileInfo data) {
System.out.println("Completely recived : "+data);
Path p = Paths.get(data.getName());
try {
Files.createFile(p);
Files.write(p, data.getContent());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @see com.bebukkit.niton.network.packets.buffer.BufferedPacketReciver#run(com.bebukkit.niton.network.packets.Packet, java.net.Socket)
*/
@Override
public void run(Packet<? extends Serializable> msg, Socket socket) {
super.run(msg, socket);
sendMessage(new Packet<Boolean>("", null), socket);
}
});
}
@Override
public void preStart()
{
registerMethod("msg", new ReciveMethod() {
@Override
public void run(Packet<? extends Serializable> msg, Socket socket) {
broadcastMessage(msg);
}
});
}
@Override
public void onWrongDataPacketException(ClassNotFoundException e) {
// TODO Auto-generated method stub
}
@Override
public void onReceivePacketError(IOException e) {
// TODO Auto-generated method stub
}
@Override
public void onPacketReckognized(ServerSocket socket) {
// TODO Auto-generated method stub
}
@Override
public void onPacketSendException(Exception e, Packet<? extends Serializable> message, Socket socket2) {
// TODO Auto-generated method stub
}
@Override
public void onSendPacketToNotConnectedClient(Packet<? extends Serializable> message, Socket socket2) {
// TODO Auto-generated method stub
}
@Override
public void onBrodcast(Packet<? extends Serializable> pack) {
// TODO Auto-generated method stub
}
@Override
public void onServerStartError(IOException e) {
// TODO Auto-generated method stub
}
@Override
public void onServerStop() {
// TODO Auto-generated method stub
}
}
代码客户端:
package com.bebukkit.niton.network.test;
import java.io.IOException;
import java.io.Serializable;
import java.net.Socket;
import java.util.Scanner;
import com.bebukkit.niton.network.Client;
import com.bebukkit.niton.network.packets.Packet;
import com.bebukkit.niton.network.packets.ReciveMethod;
public class TestClient extends Client {
public TestClient() {
super("localhost", 29898, 5000, false,true);
registerMethod("msg", new ReciveMethod() {
@Override
public void run(Packet<? extends Serializable> msg, Socket socket) {
System.out.println(msg.getData());
}
});
registerMethod("replay", new ReciveMethod() {
@Override
public void run(Packet<? extends Serializable> msg, Socket socket) {
System.out.println("REREplay");
}
});
}
@Override
public void onSocketClosingFail() {
// TODO Auto-generated method stub
}
@Override
public void onLoginPacketSendingFailed(IOException ex) {
// TODO Auto-generated method stub
}
@Override
public void onConnectionError(IOException ex) {
// TODO Auto-generated method stub
}
@Override
public void onMessageReciveError(Exception ex) {
// TODO Auto-generated method stub
}
@Override
public void onPacketSendError(Exception ex, Packet<? extends Serializable> pack) {
// TODO Auto-generated method stub
}
@Override
public void start() {
super.start();
}
}
你需要一个分离式服务器+客户端起动器:
package com.bebukkit.niton.network.test;
public class ServerStarter {
public static void main(String[] args) {
new TestServer();
}
}
客户端:
package com.bebukkit.niton.network.test;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import javax.swing.JFileChooser;
import com.bebukkit.niton.network.packets.Packet;
import com.bebukkit.niton.network.packets.buffer.BufferedPacket;
import com.bebukkit.niton.network.packets.file.FileInfo;
import com.bebukkit.niton.network.packets.file.FilePacket;
public class ClientStarter {
public static void main(String[] args) throws IOException {
TestClient tc = new TestClient();
tc.start();
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JFileChooser c = new JFileChooser("Choose a file to upload");
c.setFileSelectionMode(JFileChooser.FILES_ONLY);
c.showDialog(null,"Upload");
File f = c.getSelectedFile();
try {
tc.sendMessage(new FilePacket("file", f));
tc.sendMessage(new Packet<String>("replay","test"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start();
}
}
相关问题
- 1. 从Java小程序读取任何网络设备上的数据文件?
- 2. (iPhone)从网络文件读取 - NSMutableArray
- 3. USB设备读取文件从android
- 4. 从设备文件中读取
- 5. 从JAVA中的USB设备读取文件
- 6. htaccess的读取文件(网络化名)
- 7. 在Spark中读取windows网络文件
- 8. 读取网络文件与认证
- 9. 如何获取使用java的网络设备的MAC地址
- 10. 如何获取Java中所有网络设备的IP地址
- 11. 从网络离子阅读json文件
- 12. 从网址读取文件
- 13. 通过本地网络从iOS设备浏览桌面文件
- 14. 从java读取xml文件
- 15. 从Java Servlet读取文件
- 16. 从网络上的不同计算机读取xml文件?
- 17. PowerShell中获取网络设备
- 18. 奇怪的网络设备
- 19. 上市网络设备的
- 20. 从Xamarin C中的Windows Mobile中的设备读取EPUB文件#
- 21. 通过网络读取文件由于额外读取缓慢
- 22. 从pcap_findalldevs()过滤网络设备()
- 23. android:从网络中查找UPnP设备
- 24. 从C#读取ID3标签从网络#
- 25. 从基于android的设备读取文件?
- 26. 从文本文件读取的Java
- 27. php从网络读取目录或文件
- 28. ASP.NET从密码保护网络中读取文件共享
- 29. 如何从网络驱动器读取Excel文件?
- 30. 连接到Oracle 11g从网络设备通过java
您想如何访问该文件? HTTP? NFS?桑巴? FTP? – Asaph 2009-11-05 17:29:01