/** Maintain the versions of the file we are about to for writing. */ private static boolean shuffleVersions(String file) { File f = new File(file); if (!f.exists()) { return true; } int version = 99; boolean found = false; do { String fileVersion = file + String.format("_%02d", version); File vf = new File(fileVersion); if (vf.exists()) { found = true; } else { version--; } } while (!found && version >= 0); version++; String fileVersion = file + String.format("_%02d", version); File newf = new File(fileVersion); return f.renameTo(newf); }
private void saveData(TelemetryData data) { PrintWriter out; boolean newFile = false; if (saveCnt > 25000) { File logFile; int i; logFile = new File(telemetryDir + 99 + ".log"); logFile.delete(); newFile = true; for (i = 99; i > 0; i--) { logFile = new File(telemetryDir + (i - 1) + ".log"); logFile.renameTo(new File(telemetryDir + i + ".log")); } saveCnt = 0; } try { String text = ""; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.GERMAN); saveCnt++; out = new PrintWriter(new FileOutputStream(telemetryDir + "0.log", true)); if (newFile) { text = "Time\tLatitude\tLongitude\tSpeed\tAcceleration X\tAcceleration Y\tAcceleration Z\tCoG\tOrientation Y\tOrientation Z\n\n"; out.print(text); } text = dateFormat.format(new Date(System.currentTimeMillis())) + "\t"; if (posValid) text = text + lastLat + "\t" + lastLon + "\t" + m_lastSpeed + "\t"; else text = text + "-\t-\t-\t"; text = text + data.getAccelX() + "\t" + data.getAccelY() + "\t" + data.getAccelZ() + "\t" + data.CoG + "\t" + data.getOrientY() + "\t" + data.getOrientZ() + "\n\n"; out.print(text); out.close(); } catch (IOException ioe) { } }
private void cleanup(File directory) { // Clean up from old installations, removing or renaming files. // Note that directory is the parent of the CTP directory // unless the original installation was done by Bill Weadock's // all-in-one installer for Windows. // Get a file pointing to the CTP directory. // This might be the current directory, or // it might be the CTP child. File dir; if (directory.getName().equals("RSNA")) dir = directory; else dir = new File(directory, "CTP"); // If CTP.jar exists in this directory, it is a really // old CTP main file - not used anymore File ctp = new File(dir, "CTP.jar"); if (ctp.exists()) ctp.delete(); // These are old names for the Launcher.jar file File launcher = new File(dir, "CTP-launcher.jar"); if (launcher.exists()) launcher.delete(); launcher = new File(dir, "TFS-launcher.jar"); if (launcher.exists()) launcher.delete(); // Delete the obsolete CTP-runner.jar file File runner = new File(dir, "CTP-runner.jar"); if (runner.exists()) runner.delete(); // Delete the obsolete MIRC-copier.jar file File copier = new File(dir, "MIRC-copier.jar"); if (copier.exists()) copier.delete(); // Rename the old versions of the properties files File oldprops = new File(dir, "CTP-startup.properties"); File newprops = new File(dir, "CTP-launcher.properties"); File correctprops = new File(dir, "Launcher.properties"); if (oldprops.exists()) { if (newprops.exists() || correctprops.exists()) oldprops.delete(); else oldprops.renameTo(correctprops); } if (newprops.exists()) { if (correctprops.exists()) newprops.delete(); else newprops.renameTo(correctprops); } // Get rid of obsolete startup and shutdown programs File startup = new File(dir, "CTP-startup.jar"); if (startup.exists()) startup.delete(); File shutdown = new File(dir, "CTP-shutdown.jar"); if (shutdown.exists()) shutdown.delete(); // Get rid of the obsolete linux directory File linux = new File(dir, "linux"); if (linux.exists()) { startup = new File(linux, "CTP-startup.jar"); if (startup.exists()) startup.delete(); shutdown = new File(linux, "CTP-shutdown.jar"); if (shutdown.exists()) shutdown.delete(); linux.delete(); } // clean up the libraries directory File libraries = new File(dir, "libraries"); if (libraries.exists()) { // remove obsolete versions of the slf4j libraries // and the dcm4che-imageio libraries File[] files = libraries.listFiles(); for (File file : files) { if (file.isFile()) { String name = file.getName(); if (name.startsWith("slf4j-") || name.startsWith("dcm4che-imageio-rle")) { file.delete(); } } } // remove the email subdirectory File email = new File(libraries, "email"); deleteAll(email); // remove the xml subdirectory File xml = new File(libraries, "xml"); deleteAll(xml); // remove the sftp subdirectory File sftp = new File(libraries, "sftp"); deleteAll(xml); // move edtftpj.jar to the ftp directory File edtftpj = new File(libraries, "edtftpj.jar"); if (edtftpj.exists()) { File ftp = new File(libraries, "ftp"); ftp.mkdirs(); File ftpedtftpj = new File(ftp, "edtftpj.jar"); edtftpj.renameTo(ftpedtftpj); } } // remove the obsolete xml library under dir File xml = new File(dir, "xml"); deleteAll(xml); // remove the dicom profiles so any // obsolete files will disappear File profiles = new File(dir, "profiles"); File dicom = new File(profiles, "dicom"); deleteAll(dicom); dicom.mkdirs(); // Remove the index.html file so it will be rebuilt from // example-index.html when the system next starts. File root = new File(dir, "ROOT"); if (root.exists()) { File index = new File(root, "index.html"); index.delete(); } }
@Override public void run() { // TODO: Implement this method super.run(); start = 0; end = 0; LoadPageImage imp; HashMap<String, Object> map = new HashMap<String, Object>(); try { start = html.indexOf("page-submission", 0); start = html.indexOf("small_url =", start); end = html.indexOf("var full_url", start); s = "http:" + html.substring(start + 13, end - 3); final String img = s; map.put("img", s); end = html.indexOf(">Download<", end); start = html.lastIndexOf("href=", end); s = "http:" + html.substring(start + 6, end - 1); map.put("download", s); int std = s.lastIndexOf("/"); String name = PageActivity.HOME_PATH + s.substring(std + 1, s.length()); File f = new File(name); if (f.exists()) { Bitmap b; b = BitmapFactory.decodeFile(f.getPath()); map.put("bitmap", b); } else { name = PageActivity.HOME_PATH + "s-" + s.substring(std + 1, s.length()); f = new File(name); if (f.exists()) { Bitmap b; b = BitmapFactory.decodeFile(f.getPath()); map.put("bitmap", b); } else { imp = new LoadPageImage(); imp.start(img, -1, now); } } end = html.indexOf("Main Gallery", end); start = html.lastIndexOf("href=", end); end = html.indexOf("class=", start); s = html.substring(start + 6, end - 2); map.put("gallery", s); start = html.indexOf("<tr>\n<td", end); start = html.indexOf("<b>", start); end = html.indexOf("</b>", start); s = html.substring(start + 3, end); map.put("title", s); start = html.indexOf("href=", start); end = html.indexOf("><img", start); s = "http://www.furaffinity.net" + html.substring(start + 6, end - 1); map.put("userlink", s); start = html.indexOf("alt=", end); end = html.indexOf("\" src", start); s = html.substring(start + 5, end); map.put("username", s); start = html.indexOf("src=", end); end = html.indexOf("></a>", start); s = "http:" + html.substring(start + 5, end - 1); imp = new LoadPageImage(); imp.start(s, -2, now); map.put("usericon", s); start = html.indexOf("<br/><br/>", end); end = html.indexOf("</td>\n</tr>", start); int st = start; int ed = start - 2; String t = ""; s = ""; while (html.indexOf("<br/>", st + 1) < end - 6) { st = html.indexOf("<br/>", ed); ed = html.indexOf("<br/>", st + 1); t = html.substring(st + 5, ed); if (t.indexOf("href=") != -1) { int i1; int i2; i1 = t.indexOf("alt=\"", 0); i2 = t.indexOf("\"/>", i1); try { t = " @ " + t.substring(i1 + 5, i2) + " "; } catch (Exception e) { t = ""; } } t = t.replace("</td>", ""); t = t.replace("<td>", ""); t = t.replace("</tr>", ""); t = t.replace("<tr>", ""); t = t.replace("</table>", ""); t = t.replace("<table>", ""); t = t.replace("<br>", ""); t = t.replace("</br>", ""); if (t.indexOf("bbcode") != -1) { t = ""; } s += t; } map.put("info", s); if (now == PageActivity.now) { Message msg = Message.obtain(); msg.arg2 = now; msg.obj = map; msg.what = 5; PageActivity.hander.sendMessage(msg); } } catch (Exception e) { File f = new File(PageActivity.HOME_PATH + "LOG/lastPage.html"); if (f.exists()) { f.renameTo(new File(PageActivity.HOME_PATH + "LOG/lastErrorPage.html")); } Message msg = Message.obtain(); msg.arg2 = now; msg.obj = map; msg.what = 998; PageActivity.hander.sendMessage(msg); } }