-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMusicAlbumClass.java
131 lines (103 loc) · 3.07 KB
/
MusicAlbumClass.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package keySorting;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.RandomAccessFile;
import java.util.Scanner;
import java.util.StringTokenizer;
public class MusicAlbumClass {
String albumName;
int albumID;
String albumArtist;
static int MAX = 50;
public String getAlbumName() {
return albumName;
}
public void setAlbumName(String albumName) {
this.albumName = albumName;
}
public int getAlbumID() {
return albumID;
}
public void setAlbumID(int albumID) {
this.albumID = albumID;
}
public String getAlbumArtist() {
return albumArtist;
}
public void setAlbumArtist(String albumArtist) {
this.albumArtist = albumArtist;
}
public static int getMAX() {
return MAX;
}
public static void setMAX(int mAX) {
MAX = mAX;
}
MusicAlbumClass(){
albumName = null;
albumID = 0;
albumArtist = null;
}
public void getAlbumDetails() {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the Album ID: ");
albumID = sc.nextInt();
System.out.println("Enter the Album Name: ");
albumName = sc.next();
System.out.println("Enter the Album Artist: ");
albumArtist = sc.next();
}
public long albumPack() {
String packedRecord = albumID + "|" + albumName + "|" + albumArtist + "|";
while(packedRecord.length()<50) {
packedRecord += "@";
}
packedRecord += "\n";
long recPos = 0;
try{
RandomAccessFile recFile = new RandomAccessFile("/home/bytestorm/albumrec.txt", "rw");
recPos = recFile.length();
recFile.seek(recPos);
recFile.write(packedRecord.getBytes());
recFile.close();
}catch(Exception e){System.out.println(e);}
return recPos;
}
public static void tokenizeRec(String rec) {
StringTokenizer st1 = new StringTokenizer(rec,"|");
for (int i = 1; st1.hasMoreTokens(); i++) {
System.out.println("Album ID: "+st1.nextToken());
System.out.println("Album Name: "+st1.nextToken());
System.out.println("Album Artist: "+st1.nextToken());
st1.nextToken();
System.out.println("****************");
}
}
public void albumUnpack() {
try{
FileReader fr=new FileReader("/home/bytestorm/albumrec.txt");
BufferedReader br=new BufferedReader(fr);
String recFromFile;
System.out.println("****************");
while((recFromFile=br.readLine())!=null) {
System.out.println(recFromFile);
tokenizeRec(recFromFile);
}fr.close();
}catch(Exception e){System.out.println(e);}
}
public static void albumUnpackSingleRecord(int recNumber) {
long pos = 0;
if (recNumber == 0) pos = 0;
else
pos = (recNumber * 51);
try{
RandomAccessFile recFile = new RandomAccessFile("/home/bytestorm/newalbumrec.txt", "rw");
recFile.seek(pos);
String recFromFile;
recFromFile=recFile.readLine();
//System.out.println(recFromFile);
tokenizeRec(recFromFile);
recFile.close();
} catch(Exception e){System.out.println(e);}
}
}