Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
tdt4100
v2022
students
Commits
911ecb63
Commit
911ecb63
authored
Apr 26, 2022
by
Magnus Schjølberg
Browse files
Fix SelfCheckout-example file writing for Windows
parent
ea70ec84
Changes
3
Hide whitespace changes
Inline
Side-by-side
selfcheckout-example/src/main/java/selfcheckout/HomeFolderReceiptHandler.java
View file @
911ecb63
...
...
@@ -3,6 +3,7 @@ package selfcheckout;
import
java.io.IOException
;
import
java.io.PrintWriter
;
import
java.nio.file.Files
;
import
java.io.File
;
import
java.nio.file.Path
;
import
java.util.Scanner
;
...
...
@@ -10,7 +11,7 @@ public class HomeFolderReceiptHandler implements IReceiptHandler {
@Override
public
SelfCheckout
readReceipt
(
String
filename
,
SelfCheckout
selfCheckout
)
throws
IOException
{
try
(
Scanner
scanner
=
new
Scanner
(
getReceipt
Path
(
filename
)
.
toFile
()
))
{
try
(
Scanner
scanner
=
new
Scanner
(
getReceipt
File
(
filename
)))
{
String
phoneNumber
=
scanner
.
nextLine
();
if
(!
phoneNumber
.
equals
(
"null"
))
{
selfCheckout
.
registerPhoneNumber
(
phoneNumber
);
...
...
@@ -26,7 +27,7 @@ public class HomeFolderReceiptHandler implements IReceiptHandler {
@Override
public
void
writeReceipt
(
String
filename
,
SelfCheckout
selfCheckout
)
throws
IOException
{
Files
.
createDirectories
(
getReceiptFolderPath
());
try
(
PrintWriter
writer
=
new
PrintWriter
(
getReceipt
Path
(
filename
)
.
toFile
()
))
{
try
(
PrintWriter
writer
=
new
PrintWriter
(
getReceipt
File
(
filename
)))
{
writer
.
println
(
selfCheckout
.
getPhoneNumber
());
for
(
Item
item
:
selfCheckout
.
getShoppingCartItems
())
{
writer
.
println
(
String
.
format
(
"%s;%s;%s"
,
item
.
getName
(),
item
.
getPrice
(),
item
.
getCategory
()));
...
...
@@ -36,8 +37,8 @@ public class HomeFolderReceiptHandler implements IReceiptHandler {
}
@Override
public
Path
getReceipt
Path
(
String
filename
)
{
return
getReceiptFolderPath
().
resolve
(
filename
+
".txt"
);
public
File
getReceipt
File
(
String
filename
)
{
return
getReceiptFolderPath
().
resolve
(
filename
+
".txt"
)
.
toFile
()
;
}
private
static
Path
getReceiptFolderPath
()
{
...
...
selfcheckout-example/src/main/java/selfcheckout/IReceiptHandler.java
View file @
911ecb63
package
selfcheckout
;
import
java.io.File
;
import
java.io.IOException
;
import
java.nio.file.Path
;
public
interface
IReceiptHandler
{
...
...
@@ -9,6 +9,6 @@ public interface IReceiptHandler {
void
writeReceipt
(
String
filename
,
SelfCheckout
selfCheckout
)
throws
IOException
;
Path
getReceipt
Path
(
String
filename
);
File
getReceipt
File
(
String
filename
);
}
selfcheckout-example/src/main/java/selfcheckout/TemporaryFileReceiptHandler.java
View file @
911ecb63
package
selfcheckout
;
import
java.io.File
;
import
java.io.FileNotFoundException
;
import
java.io.PrintWriter
;
import
java.nio.file.Path
;
import
java.util.Scanner
;
public
class
TemporaryFileReceiptHandler
implements
IReceiptHandler
{
@Override
public
SelfCheckout
readReceipt
(
String
filename
,
SelfCheckout
selfCheckout
)
throws
FileNotFoundException
{
try
(
Scanner
scanner
=
new
Scanner
(
getReceipt
Path
(
filename
)
.
toFile
()
))
{
try
(
Scanner
scanner
=
new
Scanner
(
getReceipt
File
(
filename
)))
{
String
phoneNumber
=
scanner
.
nextLine
();
if
(!
phoneNumber
.
equals
(
"null"
))
{
selfCheckout
.
registerPhoneNumber
(
phoneNumber
);
...
...
@@ -24,7 +24,8 @@ public class TemporaryFileReceiptHandler implements IReceiptHandler {
@Override
public
void
writeReceipt
(
String
filename
,
SelfCheckout
selfCheckout
)
throws
FileNotFoundException
{
try
(
PrintWriter
writer
=
new
PrintWriter
(
getReceiptPath
(
filename
).
toFile
()))
{
try
(
PrintWriter
writer
=
new
PrintWriter
(
getReceiptFile
(
filename
)))
{
System
.
out
.
println
(
getReceiptFile
(
filename
));
writer
.
println
(
selfCheckout
.
getPhoneNumber
());
for
(
Item
item
:
selfCheckout
.
getShoppingCartItems
())
{
writer
.
println
(
String
.
format
(
"%s;%s;%s"
,
item
.
getName
(),
item
.
getPrice
(),
item
.
getCategory
()));
...
...
@@ -34,8 +35,8 @@ public class TemporaryFileReceiptHandler implements IReceiptHandler {
}
@Override
public
Path
getReceipt
Path
(
String
filename
)
{
return
Path
.
of
(
TemporaryFileReceiptHandler
.
class
.
getResource
(
"receipts
/
"
).
getFile
()
+
filename
+
".txt"
);
public
File
getReceipt
File
(
String
filename
)
{
return
new
File
(
TemporaryFileReceiptHandler
.
class
.
getResource
(
"receipts"
).
getFile
()
+
filename
+
".txt"
);
}
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment