Java Tips .....
To get directory names inside a particular directory ....
private String[] getDirectoryNames(String path) {
File fileName = new File(path);
String[] directoryNamesArr = fileName.list(new FilenameFilter() {
@Override
public boolean accept(File current, String name) {
return new File(current, name).isDirectory();
}
});
log.info("Directories inside " + path + " are " + Arrays.toString(directoryNamesArr));
return directoryNamesArr;
}
To retrieve links on a web page ......
private List<String> getLinks(String url) throws ParserException {
Parser htmlParser = new Parser(url);
List<String> links = new LinkedList<String>();
NodeList tagNodeList = htmlParser.extractAllNodesThatMatch(new NodeClassFilter(LinkTag.class));
for (int x = 0; x < tagNodeList.size(); x++) {
LinkTag loopLinks = (LinkTag) tagNodeList.elementAt(m);
String linkName = loopLinks.getLink();
links.add(linkName);
}
return links;
}
To search for all files in a directory recursively from the file/s extension/s ......
private List<String> getFilesWithSpecificExtensions(String filePath) throws ParserException {
// extension list - Do not specify "."
List<File> files = (List<File>) FileUtils.listFiles(new File(filePath),
new String[]{"txt"}, true);
File[] extensionFiles = new File[files.size()];
Iterator<File> itFileList = files.iterator();
int count = 0;
while (itFileList.hasNext()) {
File filePath = itFileList.next();
extensionFiles[count] = filePath;
count++;
}
return extensionFiles;
}
Reading files in a zip
public static void main(String[] args) throws IOException {
final ZipFile file = new ZipFile("Your zip file path goes here");
try
{
final Enumeration<? extends ZipEntry> entries = file.entries();
while (entries.hasMoreElements())
{
final ZipEntry entry = entries.nextElement();
System.out.println( "Entry "+ entry.getName() );
readInputStream( file.getInputStream( entry ) );
}
}
finally
{
file.close();
}
}
private static int readInputStream( final InputStream is ) throws IOException {
final byte[] buf = new byte[8192];
int read = 0;
int cntRead;
while ((cntRead = is.read(buf, 0, buf.length) ) >=0)
{
read += cntRead;
}
return read;
}
Converting Object A to Long[]
long [] myLongArray = (long[])oo;
Long myLongArray [] = new Long[myLongArray.length];
int i=0;
for(long temp:myLongArray){
myLongArray[i++] = temp;
}
Getting cookie details on HTTP clients
import org.apache.http.impl.client.DefaultHttpClient;
HttpClient httpClient = new DefaultHttpClient();
((DefaultHttpClient) httpClient).getCookieStore().getCookies();
HttpPost post = new HttpPost(URL);
post.setHeader("User-Agent", USER_AGENT);
post.addHeader("Referer",URL );
List<NameValuePair> urlParameters = new ArrayList<NameValuePair>();
urlParameters.add(new BasicNameValuePair("username", "admin"));
urlParameters.add(new BasicNameValuePair("password", "admin"));
urlParameters.add(new BasicNameValuePair("sessionDataKey", sessionKey));
post.setEntity(new UrlEncodedFormEntity(urlParameters));
return httpClient.execute(post);
Ubuntu Commands
1. Getting the process listening to a given port (eg: port 9000)
sudo netstat -tapen | grep ":9000 "
Running a bash script from python script
shell.py
-----------
import os
def main():
os.system("sh hello.sh")
if __name__=="__main__":
os.system("sh hello.sh")
hello.sh
-----------
#Linux shell Script
echo "Hello Python from Shell";
public void scriptExecutor() throws IOException {
log.info("Start executing the script to trigger the docker build ... ");
Process p = Runtime.getRuntime().exec(
"python /home/dimuthu/Desktop/Python/shell.py ");
BufferedReader in = new BufferedReader(new InputStreamReader(
p.getInputStream()));
log.info(in.readLine());
log.info("Finished executing the script to trigger the docker build ... ");
}