コード例 #1
0
ファイル: Friends.java プロジェクト: maandree/cnt
 /**
  * Loads the friends list
  *
  * @param file The file with the data
  * @throws IOException On I/O error
  */
 private static void loadFriends(final String file) throws IOException {
   friendFile = file;
   final File $file = new File(file);
   friends = new HashSet<Player>();
   if ($file.exists() == false) saveFriends();
   else {
     ObjectInputStream is = null;
     Object obj = null;
     try {
       is = new ObjectInputStream(new BufferedInputStream(new FileInputStream($file)));
       while ((obj = is.readObject()) != null) friends.add((Player) obj);
     } catch (final ClassNotFoundException err) {
       throw new IOError(err);
     } catch (final IOException | RuntimeException | Error err) {
       System.err.println(err);
       System.err.println("obj: " + obj);
       System.err.println("is: " + is);
       throw err;
     } finally {
       if (is != null)
         try {
           is.close();
         } catch (final Throwable err) {
           // Do nothing
         }
     }
   }
 }
コード例 #2
0
ファイル: Friends.java プロジェクト: maandree/cnt
 /**
  * Load, creates if missing, information about the local users
  *
  * @param file The file with the data
  * @throws IOException On I/O error
  */
 private static void loadMe(final String file) throws IOException {
   myFile = file;
   final File $file = new File(file);
   if ($file.exists() == false) {
     myUUID = UUID.randomUUID();
     updateMe(null);
   } else {
     ObjectInputStream is = null;
     try {
       is = new ObjectInputStream(new BufferedInputStream(new FileInputStream($file)));
       Object obj;
       for (; ; )
         if ((obj = is.readObject()) instanceof UUID) {
           System.err.println("Loading UUID: " + obj);
           myUUID = (UUID) obj;
           break;
         } else {
           System.err.println("Loading DNS: " + obj);
           myDNSes.add((String) obj);
         }
     } catch (final ClassNotFoundException err) {
       throw new IOError(err);
     } finally {
       if (is != null)
         try {
           is.close();
         } catch (final Throwable err) {
           // Do nothing
         }
     }
   }
 }
コード例 #3
0
ファイル: Friends.java プロジェクト: maandree/cnt
  /** Loads everything */
  public static void load() {
    synchronized (monitor) {
      myDNSes = new ArrayList<String>();

      String dir = home;
      final String dirsep = System.getProperty("file.separator");

      if (dir.endsWith(dirsep) == false) dir += dirsep + ".cnt" + dirsep;
      else dir += ".cnt" + dirsep;

      try {
        final File file = new File(dir);
        if (file.exists() == false) file.mkdir();

        loadFriends(dir + "friends");
        loadMe(dir + "local");
      } catch (final IOException err) {
        throw new IOError(err);
      }
    }
  }