Edit a Record in a CSV/txt File Java

Поделиться
HTML-код
  • Опубликовано: 22 авг 2024
  • Edit a Record in a CSV/txt file Java
    Hello there viewer, welcome back and today I shall be showing you a simple way to edit records using Java for a txt or CSV or any file type. All we do is write every record we want to keep the same to another file and the new details for the record we want to edit to the new file. We delete the old file and rename the new file to whatever the old one was called.
    Why not subscribe to keep notified when I upload so you can get that A?
    tinyurl.com/Su...
    Social media:
    Instagram: / mcod1999
    Twitter: / mcod1999
    ManDownGG: www.mandown.pro/ - Le pro Esport team
    Edit a Record in a CSV/txt file Java

Комментарии • 145

  • @matthewkarloski4775
    @matthewkarloski4775 2 года назад +11

    For people having to edit this file more than once, doing it with pw.println(...) causes the ending of each line to have "
    ". Meaning that whenever you go through it again, your last element on that line will have a "
    " at the end, causing a new line to appear, and also causing errors if you're trying to use that variable as something besides a string, like a int.
    In this case, age would be "36
    ", "23
    ", or whatever you gave age, instead of just the number.
    There's a simple solution however. Simply use pw.print(... + "
    "). This eliminates the "
    " and solves all the problems I listed above.
    So if we're using the example from the video, it'd be:
    pw.print(ID + "," + name + "," + age + "
    ");

  • @qkloh6804
    @qkloh6804 3 года назад +2

    A video that can help me after 2 years now and more years to come to help others. Great work.

  • @ishanvarshney9054
    @ishanvarshney9054 6 лет назад +11

    OMG ,I can't believe such a great video has only 15 likes! and this wonderful channel has only 99 subscribers. Keep going,
    I am sure u would cross 1M subscribers one day.

    • @maxodidily
      @maxodidily  6 лет назад +3

      Thanks a lot, Ishan. You will have no idea how much it means to me hearing those words. Also, we are now at 100 subs now so we just need to cube that number to get to one million now. I hope you stay tuned for more!

    • @m7mdabohashem
      @m7mdabohashem 3 года назад

      it's 370 likes now

    • @user-mw1qb5kd9l
      @user-mw1qb5kd9l 3 года назад +1

      he's not that close yet, but surely someday...

    • @SachinPatil-vj1hu
      @SachinPatil-vj1hu 3 года назад

      @@maxodidily 3000 Subs now!

  • @jaygarzon6709
    @jaygarzon6709 4 года назад +4

    May 14 2020, your tutorials are very informative and on point. This is the only tutorial that worked for me. Thanks Max

  • @mamlesksiddharth
    @mamlesksiddharth 3 года назад +2

    Hey Max! This is such an awesome video! I just wanted to know if it was possible to edit just a single cell rather than changing the entire row each time I want to edit. Thanks!!!

  • @mohsenmcqueen
    @mohsenmcqueen 6 лет назад +2

    Thx man, from iran with love :) whish you the best

    • @maxodidily
      @maxodidily  6 лет назад +1

      Your words make my day! I wish you the best too.

  • @thomas.l5924
    @thomas.l5924 Год назад

    Thank you very much you save my life :D .

  • @tingkoydesu1837
    @tingkoydesu1837 4 года назад +5

    File.renameTo()
    and file.delete() is not working for meee

  • @sirtroy
    @sirtroy 4 года назад

    ARE YOU DRUNK?!
    But thanks, I learned

  • @tuantng425
    @tuantng425 4 года назад +1

    I have troubles deleting the old file and renaming the new file as File.delete() and File.renameTo() are ignored. The code works GREAT (THANK YOU SO MUCH!) but it does not delete or rename the file. Again, thank you for your helpful videos!

  • @manjunathmali5310
    @manjunathmali5310 5 лет назад +1

    Really helpful bro thanks a lot ....

  • @TAIGZZZZ
    @TAIGZZZZ 3 года назад +1

    it runs but but it doesnt delete the temp file and doesnt update file

  • @SebgasFlowx3
    @SebgasFlowx3 4 года назад +3

    Hey man, great video, i followed everything in order to do my code, but since im using a csv file, somehow the file is not being deleted nor changed, i don't know if the swing affects something. the temp.csv is being created correctly but the old file isn't being deleted and the temp isn't being renamed, i don't know if you will ever read this but yolo. Thanks for the video

  • @NTChannel127
    @NTChannel127 2 года назад

    thanks so much for sharing, it's really useful

  • @TiMCoop3r
    @TiMCoop3r Год назад

    what would be your solution if one of the items( x.next()) is a double but the rest are a string?

  • @mohammedf.sammour8318
    @mohammedf.sammour8318 5 лет назад

    Thank you very much for this good, beautiful professional work

    • @maxodidily
      @maxodidily  5 лет назад

      Your kind words have made my day.

    • @mohammedf.sammour8318
      @mohammedf.sammour8318 5 лет назад

      @@maxodidily It is my pleasure to thank everyone who teaches and helps people .. I wish you happy times

  • @devishamishra7279
    @devishamishra7279 Год назад

    How to keep the alignment same as old file..plz answer

  • @Jacksons_are_jackson
    @Jacksons_are_jackson 2 года назад

    Thanks dude. U da best

  • @shoot-em-up895
    @shoot-em-up895 4 года назад

    You are great man

  • @rajojyoti
    @rajojyoti 4 года назад +1

    Hi Max,
    This is a awesome video.
    I have one ques?
    How can I use for a csv file and not a text file

    • @maxodidily
      @maxodidily  4 года назад

      Change the filename from "filename.txt" to "filename.csv".

    • @rajojyoti
      @rajojyoti 4 года назад

      @@maxodidily Thanks max.
      I will try and will let you know.
      Anyways, the session was very helpfull to me.
      Thanks man

    • @edhankhar3057
      @edhankhar3057 3 года назад

      Is it possible without changing? i mean can't we directly edit the csv file? I am looking to add a new record in an already existing csv file.

  • @gerhardkotze5934
    @gerhardkotze5934 3 года назад

    This is great code, but my problem is I can't just use Strings. What if you use different data types?

  • @alainsoral7314
    @alainsoral7314 5 лет назад

    Hello, it the thumbs up guy again. I have a question,
    isn't this ressources consuming if it a dictionary file for example ? not to mention if the file is also constantly modified by other methods !?

    • @maxodidily
      @maxodidily  5 лет назад +2

      Good question, so yes, this can be resource demanding if used in a big database system. For small databases, this is fine. This tutorial was aimed at A-Level students and this is enough for A Levels. If I were to code a bigger database I would use hashing. I shall be covering this in the near future.

    • @alainsoral7314
      @alainsoral7314 5 лет назад

      @@maxodidily thank you, looking forward for the hashing tutorial. keep the good work

  • @iloveyoueggegg
    @iloveyoueggegg 4 года назад

    How do you stop it from starting a new line in the text file after you've written what you've written?

  • @tafroggo5813
    @tafroggo5813 4 года назад +1

    wait, why would you make a temporary file when you could just add the stuff to A string array?
    that way it would be a lot easier...

    • @maxodidily
      @maxodidily  4 года назад +1

      You can use an Array if you like. I used a temp file as I wanted to keep this video in line with the WJEC Computer Science A-Level syllabus where the theory states a temp file is created, the old file is deleted and the temp file is renamed to the original file.

  • @Total_FootballYT
    @Total_FootballYT 3 года назад

    Hi mate, I’m getting NoSuchElementException with this and can’t figure out why, any ideas?

  • @junkai6877
    @junkai6877 2 года назад

    Hi there, may I ask why mine will keep adding a blank line in eachline?

  • @pushkargoyal4278
    @pushkargoyal4278 3 года назад

    nyc explanation

  • @user-kl2cp5zh4c
    @user-kl2cp5zh4c 5 лет назад

    Nevermind. Nice video!

    • @maxodidily
      @maxodidily  5 лет назад

      Could you send me your code via hastebin?

    • @user-kl2cp5zh4c
      @user-kl2cp5zh4c 5 лет назад

      @@maxodidily I wrote the data without comas so it didn't write anything

    • @maxodidily
      @maxodidily  5 лет назад

      ​@@user-kl2cp5zh4c I'm glad you resolved your issue!

  • @shoot-em-up895
    @shoot-em-up895 4 года назад

    Thank you very much

  • @parmjitgill592
    @parmjitgill592 4 года назад

    Hi Max, great video. I'm just having a little trouble when the program loops through the code to find and edit the desired values. It finds and changes the values fine but the program doesn't write the remaining values in the file (the other rows)

    • @edhankhar3057
      @edhankhar3057 3 года назад

      I am looking to add a new record in an already existing csv file what will be the logic ? And Input from console.

  • @bellthomas537
    @bellthomas537 7 лет назад

    simple i love it

    • @maxodidily
      @maxodidily  7 лет назад

      Thanks for the positive feedback!

  • @-0-__-0-
    @-0-__-0- 2 года назад

    Having issues with file.delete() returning false. Any way to fix it?

  • @adolfjamesurian6510
    @adolfjamesurian6510 3 года назад

    What if i want to append something in a line of records?

  • @Johncena-bk1lg
    @Johncena-bk1lg 6 лет назад

    You deserve my sub!!!

    • @maxodidily
      @maxodidily  6 лет назад

      Ty, it feels good knowing I earnt a subscription!

  • @catalinsas2390
    @catalinsas2390 3 года назад

    my file is not deleted and the updated data remains in temp fil....could u please help????

  • @jackpang9909
    @jackpang9909 5 лет назад +1

    Thanks bro, it is useful. But can i know why the rename and delete function are not working by using the same code with you?
    the main issue is cannot delete or rename the Main text file. So temporary file will not replace the Main file.

    • @yapkarman7431
      @yapkarman7431 5 лет назад

      do u found solution for this? I'm having the same problem. data is copied to temp.txt but didn't rename to records.txt

    • @maxodidily
      @maxodidily  5 лет назад

      Could you send your code via hastebin?

    • @jackpang9909
      @jackpang9909 5 лет назад

      Thank you very much for replying my comment
      But i found a way which is overwrite the original file from temporary file by using the same method above
      It should be work also

    • @maxodidily
      @maxodidily  5 лет назад

      @@jackpang9909 I'm glad you have resolved the issue. If you have any other issues, don't hesitate to ask about it!

    • @isore3090
      @isore3090 5 лет назад

      @@maxodidily hello bro, im havinf the same problem as JACK PANG and i couldnt find a solution. Can you help me with it?

  • @mmarvinn__
    @mmarvinn__ 3 года назад

    Does this work with ";" instead of "," too?

  • @practifruta7330
    @practifruta7330 3 года назад

    gracias amigo

  • @yq5687
    @yq5687 4 года назад

    i cannot delete the file when export file and import file

  • @YourDhiraj
    @YourDhiraj 4 года назад

    SIr, i wrote the code but not working properly. No error message is being displayed. if you don't mind, could you give me any suggestion.

    • @maxodidily
      @maxodidily  4 года назад

      Could you send the code via hastebin or pastebin please

  • @suswee_8189
    @suswee_8189 3 года назад

    thanks

  • @internettboii_
    @internettboii_ 5 лет назад

    Nice video bro, help me a Lot.
    How can I copy from text file to object type arraylist?
    Like 1223,Bilton,23 to 1223 Billton 23

    • @Gerrieberrie76
      @Gerrieberrie76 5 лет назад

      You go through the txt file, putting every line in a String (use a String[ ] for that), and then use the String.split( " , " ) to split the lines at the comma.

  • @8-bitJoe
    @8-bitJoe 4 года назад

    Hi, everything seems to run fine except every time I run the program, it keeps creating a new line empty space on the file. I've copied your code and it's still happening? Do you know what's causing this? Thanks.

    • @brentgallagher3603
      @brentgallagher3603 4 года назад +3

      if(item.equals(editID)) {

      pw.print(newID + "," + newName + "," + newAge + "
      ");
      }

      else {
      pw.print(ID+ "," + name + "," + age + "
      ");

      }
      use pw.print not pw.println and add a "
      " in the print statement...Answer is above

    • @rickywong9525
      @rickywong9525 3 года назад

      @@brentgallagher3603 Oh my gosh, thanks!! Was looking for the solution to this problem, and your answer helps me!

  • @edhankhar3057
    @edhankhar3057 3 года назад

    I am looking to add a new record in an already existing csv file what will be the logic ? And Input from console.

    • @maxodidily
      @maxodidily  3 года назад

      This tutorial will show you how to add a record to a csv file: ruclips.net/video/lp0xQXUEw-k/видео.html As for getting input, use the Java Scanner class and assign input it receives to a string.

  • @ayanc13
    @ayanc13 6 лет назад

    Using a windows and linux machine both, this code works for me in linux perfectly. but in windows the file does not delete at any condition!! :( can you teach me any other method?

    • @maxodidily
      @maxodidily  6 лет назад

      Firstly, I am really happy that the code works on Linux and am sorry it isn't working on Windows. Here is something you may want to have a look at, it aims to accomplish a similar thing: stackoverflow.com/questions/20039980/java-replace-line-in-text-file Also may I see the code so I can see if it works on my Windows machine?

    • @abhishekjha6487
      @abhishekjha6487 6 лет назад

      for windows try to use java.nio.file.Files.delete(oldfile.toPath());

  • @mrthaw4962
    @mrthaw4962 6 лет назад

    If i do not close all my filereader and filewriter will that stop the file from deleting and renaming ?

    • @maxodidily
      @maxodidily  6 лет назад +1

      I'll be honest, I'm not 100% sure on that, I just close everything as it is good practice and reduces resources used. Maybe try your code but without closing the filereader and filewriter. I'm sorry I couldn't give u an answer to this good question.

  • @syamhans12
    @syamhans12 4 года назад

    Max, help me.. The old file not deleting , therefore at the end of the project i have 2 different file exist

    • @maxodidily
      @maxodidily  4 года назад

      Could you send me your code via hastebin or pastebin please.

  • @sithchanrady8125
    @sithchanrady8125 4 года назад

    good

  • @MrEvmk
    @MrEvmk 4 года назад

    Hi
    Max O'Didily , If I created a CSV file how to create header for that CSV.

    • @maxodidily
      @maxodidily  4 года назад

      Just add a record to the top of the file which just consists of headers fur your fields.

  • @kylemital689
    @kylemital689 5 лет назад

    I tried the code, but instead of setting the new information to a set amount, I made a scanner that allowed the user to input what they want to change and then that was inputed into the newID for example. It doesn't work. Any help?

    • @maxodidily
      @maxodidily  5 лет назад

      Could you send me the code via hastebin or pastebin please?

    • @edhankhar3057
      @edhankhar3057 3 года назад

      I am looking to add a new record in an already existing csv file what will be the logic ? And also Input should be from console.

    • @yazeedmizu3184
      @yazeedmizu3184 2 года назад

      That's what I tried to do but did not work. Do you still have your coding for it?

  • @seihaly8375
    @seihaly8375 5 лет назад +1

    Hello,I have follow your code and i have problem with update data. When i update it.The "oldFile" not delete and "Temp file" is also not rename too. Can you guide me please?. Thanks.

    • @syamhans12
      @syamhans12 4 года назад

      same.

    • @ahmednasif5443
      @ahmednasif5443 4 года назад

      Same here

    • @edhankhar3057
      @edhankhar3057 3 года назад

      I am looking to add a new record in an already existing csv file what will be the logic ? And Input from console.

  • @kevinpaulsen6103
    @kevinpaulsen6103 5 лет назад

    Curly brackets don’t go on a new line, and there’s always a space after a comma.

    • @meep1543
      @meep1543 5 лет назад

      but they do though

    • @kevinpaulsen6103
      @kevinpaulsen6103 5 лет назад

      meep not according to official java style. If you put them on a new line at a good college, you’d get points marked off. Java has a code style, you can’t change it with you bad habits.

  • @adityaprerepa7656
    @adityaprerepa7656 6 лет назад +1

    Dont you need to do Scanner x = new Scanner(new File(filepath));

    • @maxodidily
      @maxodidily  6 лет назад +3

      That way also works just as well.

  • @igrey9616
    @igrey9616 3 года назад

    why do we use this as delimiter [,
    ] i don't understand that concept

    • @maxodidily
      @maxodidily  3 года назад

      The comma is because we want every field to be separated by a comma, we also use
      as that means a new line.

  • @ritikarao1662
    @ritikarao1662 5 лет назад

    sir, thsi code is working gud for txt bt i gotta edit the csv file ..it shows no changes in that..please help

    • @maxodidily
      @maxodidily  5 лет назад

      There should be no issues with this code being used on a .csv file. Could you send your code via hastebin, please?

    • @edhankhar3057
      @edhankhar3057 3 года назад

      I am looking to add a new record in an already existing csv file what will be the logic ? And Input should be from console.

  • @dariusboteand7722
    @dariusboteand7722 5 лет назад

    FileWriter(blablabla) is underlined in red... only solution proposed: create a new class FileWriter... why?

    • @maxodidily
      @maxodidily  5 лет назад

      Could you send me your code via hastebin or pastebin please?

  • @roselynw1872
    @roselynw1872 5 лет назад

    what if you only want to change the name and the rest are the same? :(

    • @maxodidily
      @maxodidily  5 лет назад

      If you only want to change one field, you could do 'pw.println(ID + "," + newName + "," + age);' Basically, if you ever want to keep something the same you just re-write the value that existed in the original file.

  • @user-hi8ox9ew8g
    @user-hi8ox9ew8g 3 года назад

    the link is not available, plz update

  • @matthewsilverberg6618
    @matthewsilverberg6618 7 лет назад

    WOW

  • @mahinzafar4545
    @mahinzafar4545 5 лет назад

    could this code work in an android application in android studio

  • @killerzero8516
    @killerzero8516 3 года назад

    why is it printing unorganized

  • @sushomamondal6950
    @sushomamondal6950 4 года назад

    Sir after running this code in my system it is showing error..... i can't understand what is the Exact problem....Sir plzz tell me the solution. Thanks in advance.

    • @maxodidily
      @maxodidily  4 года назад

      What is the error message you are receiving?

    • @sushomamondal6950
      @sushomamondal6950 4 года назад

      @@maxodidily Actually sir catch block is executing...And it is printing error.

    • @maxodidily
      @maxodidily  4 года назад

      Could you send me your code please?

    • @edhankhar3057
      @edhankhar3057 3 года назад

      I am looking to add a new record in an already existing csv file what will be the logic ? And Input should be from console.

  • @waltermonteiro7078
    @waltermonteiro7078 5 лет назад

    if your editTerm is the age it will not change the record

    • @maxodidily
      @maxodidily  5 лет назад

      Could you send your code via hastebin please?

    • @waltermonteiro7078
      @waltermonteiro7078 5 лет назад

      problem solved sorry for bothering

    • @maxodidily
      @maxodidily  5 лет назад

      No problem, it's never a bother if anyone asks a question. May I ask how you resolved your issue?

  • @ujjawalyadav574
    @ujjawalyadav574 4 года назад

    Sir nosuchelementexception occur why

    • @maxodidily
      @maxodidily  4 года назад +1

      Could you send your code via hastebin or pastebin please

    • @soumyabej5770
      @soumyabej5770 4 года назад

      @@maxodidily sir we don't know how to use

    • @maxodidily
      @maxodidily  4 года назад

      Paste your code into the giant text box here: pastebin.com/ After that, click the 'create new paste' button. After your are loaded to a new page, copy what is in the url bar on your web browser and paste the link wherever you wish to share your pastebin link.

    • @soumyabej5770
      @soumyabej5770 4 года назад

      @@maxodidily ok sir

    • @soumyabej5770
      @soumyabej5770 4 года назад

      @@maxodidily pastebin.com/zRSLwavW here it is sir

  • @muzilhassan2542
    @muzilhassan2542 4 года назад

    this is not working

    • @maxodidily
      @maxodidily  4 года назад

      What issue are you having?

  • @dariusboteand7722
    @dariusboteand7722 5 лет назад

    also code doesn't work :")

    • @maxodidily
      @maxodidily  5 лет назад

      What issue have you encountered?

  • @jimmyinnocent9884
    @jimmyinnocent9884 Год назад

    CAN SOMEONE PLEASE HELP, I DID EXACTLY AS THE VIDEO BUT IT SHOWS java.util.NoSuchElementException
    BTW GREAT VIDEOS MAN, HELPED ALOT
    public static void editRecord(String filepath, String editTerm, String newFname, String newSname, String newEmail,String newAddress, String newPhone)
    {
    String tempFile = "temp.txt";
    File oldFile = new File(filepath);
    File newFile = new File(tempFile);
    String fname = ""; String sname = ""; String email = ""; String address = ""; String phone = "";
    try{
    FileWriter fw = new FileWriter(tempFile, true);
    BufferedWriter bw = new BufferedWriter(fw);
    PrintWriter pw = new PrintWriter(bw);
    x = new Scanner(new File(filepath));
    x.useDelimiter("[\t
    ]");
    while(x.hasNext()){
    fname = x.next();
    sname = x.next();
    email = x.next();
    address = x.next();
    phone = x.next();
    if(fname.equals(editTerm)){
    pw.println(newFname + "\t" + newSname + "\t" + newEmail + "\t" + newAddress + "\t" + newPhone);
    }else{
    pw.println(fname + "\t" + sname + "\t" + email + "\t" + address + "\t" + phone);
    }
    }
    x.close();
    pw.flush();
    pw.close();
    oldFile.delete();
    File dump = new File(filepath);
    newFile.renameTo(dump);
    }catch(Exception e){
    System.out.println(e);
    }
    }