我的远程系统中有.txt文件,例如:ip = 172.16.20.1 path是/ etc / config
我如何从java
连接到这个文件这是我的代码。
String path = "http://172.16.20.1/etc/config/file.txt";
URL url = new URL(path);
URLConnection yc = url.openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader (yc.getInputStream()));
但是当我使用http&的路径时,我的文件并不例外如果我使用https
,则获取javax.net.ssl.SSLHandshakeException我错过了这个文件file.txt在/ etc文件夹(Linux)
答案 0 :(得分:0)
选中此项以使用commons-vfs从远程计算机读取文件,其工作正常
public static void readRemoteManifestFile( String ipAddress,String filePath,String username,String password ){
//filePath="/usr/local/tomcat/webapps/abc/test/NavigationPanel.html";
try {
StandardFileSystemManager manager = new StandardFileSystemManager();
manager.init();
FileObject remoteFile = manager.resolveFile(createConnectionString(ipAddress, username,password,
filePath), createDefaultOptions());
if(!remoteFile.exists()){
System.out.println( filePath+": no such file" );
}else{
Reader inputStreamReader = new InputStreamReader( remoteFile.getContent().getInputStream());
char c;
int i;
while((i=inputStreamReader.read())!=-1)
{
// int to character
c=(char)i;
// print char
System.out.println("Character Read: "+c);
}
}
} catch (Exception e) {
System.out.println( "Failed to read for "+
filePath+": "+e);
System.out.println( "Failed to read for "+
filePath+": "+e.getMessage());
}
}
public static String createConnectionString(String hostName,
String username, String password, String remoteFilePath) {
return "sftp://" + username + ":" + password + "@" + hostName + "/" + remoteFilePath;
}
public static FileSystemOptions createDefaultOptions()
throws FileSystemException {
FileSystemOptions opts = new FileSystemOptions();
SftpFileSystemConfigBuilder.getInstance().setStrictHostKeyChecking(
opts, "no");
SftpFileSystemConfigBuilder.getInstance().setUserDirIsRoot(opts, false);
SftpFileSystemConfigBuilder.getInstance().setTimeout(opts, 10000);
return opts;
}
}