データベースには次のような文字列がたくさんあります: "\\LDDESKTOP\news\1455Bloomberg Document # 180784.txt"
. 最後のスラッシュの後にファイル名を取得したい。
私はこれを通常の方法で行います:
str.substring(str.lastIndexOf("\\")+1)
しかし、単一のスラッシュが変更の意味に使用されているため、機能しません。Python と同じように Java で、コンパイラにこのようなプレーンな文字列と見なすように指示する方法はありますかstr=r'.......'
?
または、文字列を に変更する方法"\\\\LDDESKTOP\\news\\1455Bloomberg Document # 180784.txt"
。したがって、それを File オブジェクトに渡して、このファイルを読み取ることができます。
どうすればいいですか?または、これを解決する他の方法。
ありがとう。
news テーブルの path(varchar(150)) という名前の列は、「\LDDESKTOP\news\1362Bloomberg Document # 180691.txt」のようなものです。
そして、パス上で通常の選択を行います。
コード :
public List<String> getNewsFileName(String startTime,String endTime) {
List<String> newsFileNames = new ArrayList<String>();
String tableName = ConfigFile.getConfig("configuration.txt","SQLServerTable");
String sql = "select Path from [" + tableName + "] where localtime >= '" + startTime + "' and localtime <= '" + endTime + "'";
try {
if(connection==null) {
InvertedIndex.logger.log(Level.SEVERE, "Database connection has not been initialized");
System.exit(-1);
}
stmt=connection.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()) {
String path=rs.getString(1);
newsFileNames.add(path);
}
} catch (SQLException e) {
InvertedIndex.logger.log(Level.SEVERE,"Fail to store news");
}
return newsFileNames;
}